strict-ts-lib-v6.0 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +28 -0
  2. package/libs/decorators/index.d.ts +360 -0
  3. package/libs/decorators/legacy/index.d.ts +17 -0
  4. package/libs/dom/asynciterable/index.d.ts +2 -0
  5. package/libs/dom/index.d.ts +53065 -0
  6. package/libs/dom/iterable/index.d.ts +2 -0
  7. package/libs/es2015/collection/index.d.ts +151 -0
  8. package/libs/es2015/core/index.d.ts +645 -0
  9. package/libs/es2015/generator/index.d.ts +63 -0
  10. package/libs/es2015/index.d.ts +10 -0
  11. package/libs/es2015/iterable/index.d.ts +658 -0
  12. package/libs/es2015/promise/index.d.ts +72 -0
  13. package/libs/es2015/proxy/index.d.ts +129 -0
  14. package/libs/es2015/reflect/index.d.ts +143 -0
  15. package/libs/es2015/symbol/index.d.ts +28 -0
  16. package/libs/es2015/symbol-wellknown/index.d.ts +329 -0
  17. package/libs/es2016/array-include/index.d.ts +113 -0
  18. package/libs/es2016/full/index.d.ts +5 -0
  19. package/libs/es2016/index.d.ts +3 -0
  20. package/libs/es2016/intl/index.d.ts +13 -0
  21. package/libs/es2017/arraybuffer/index.d.ts +3 -0
  22. package/libs/es2017/date/index.d.ts +21 -0
  23. package/libs/es2017/full/index.d.ts +5 -0
  24. package/libs/es2017/index.d.ts +8 -0
  25. package/libs/es2017/intl/index.d.ts +26 -0
  26. package/libs/es2017/object/index.d.ts +113 -0
  27. package/libs/es2017/sharedmemory/index.d.ts +246 -0
  28. package/libs/es2017/string/index.d.ts +27 -0
  29. package/libs/es2017/typedarrays/index.d.ts +35 -0
  30. package/libs/es2018/asyncgenerator/index.d.ts +67 -0
  31. package/libs/es2018/asynciterable/index.d.ts +47 -0
  32. package/libs/es2018/full/index.d.ts +6 -0
  33. package/libs/es2018/index.d.ts +6 -0
  34. package/libs/es2018/intl/index.d.ts +90 -0
  35. package/libs/es2018/promise/index.d.ts +12 -0
  36. package/libs/es2018/regexp/index.d.ts +19 -0
  37. package/libs/es2019/array/index.d.ts +92 -0
  38. package/libs/es2019/full/index.d.ts +6 -0
  39. package/libs/es2019/index.d.ts +6 -0
  40. package/libs/es2019/intl/index.d.ts +5 -0
  41. package/libs/es2019/object/index.d.ts +142 -0
  42. package/libs/es2019/string/index.d.ts +19 -0
  43. package/libs/es2019/symbol/index.d.ts +6 -0
  44. package/libs/es2020/bigint/index.d.ts +952 -0
  45. package/libs/es2020/date/index.d.ts +33 -0
  46. package/libs/es2020/full/index.d.ts +6 -0
  47. package/libs/es2020/index.d.ts +9 -0
  48. package/libs/es2020/intl/index.d.ts +492 -0
  49. package/libs/es2020/number/index.d.ts +13 -0
  50. package/libs/es2020/promise/index.d.ts +35 -0
  51. package/libs/es2020/sharedmemory/index.d.ts +144 -0
  52. package/libs/es2020/string/index.d.ts +30 -0
  53. package/libs/es2020/symbol-wellknown/index.d.ts +27 -0
  54. package/libs/es2021/full/index.d.ts +6 -0
  55. package/libs/es2021/index.d.ts +5 -0
  56. package/libs/es2021/intl/index.d.ts +159 -0
  57. package/libs/es2021/promise/index.d.ts +32 -0
  58. package/libs/es2021/string/index.d.ts +18 -0
  59. package/libs/es2021/weakref/index.d.ts +60 -0
  60. package/libs/es2022/array/index.d.ts +103 -0
  61. package/libs/es2022/error/index.d.ts +57 -0
  62. package/libs/es2022/full/index.d.ts +6 -0
  63. package/libs/es2022/index.d.ts +7 -0
  64. package/libs/es2022/intl/index.d.ts +142 -0
  65. package/libs/es2022/object/index.d.ts +40 -0
  66. package/libs/es2022/regexp/index.d.ts +23 -0
  67. package/libs/es2022/string/index.d.ts +7 -0
  68. package/libs/es2023/array/index.d.ts +913 -0
  69. package/libs/es2023/collection/index.d.ts +3 -0
  70. package/libs/es2023/full/index.d.ts +6 -0
  71. package/libs/es2023/index.d.ts +4 -0
  72. package/libs/es2023/intl/index.d.ts +112 -0
  73. package/libs/es2024/arraybuffer/index.d.ts +50 -0
  74. package/libs/es2024/collection/index.d.ts +11 -0
  75. package/libs/es2024/full/index.d.ts +6 -0
  76. package/libs/es2024/index.d.ts +8 -0
  77. package/libs/es2024/object/index.d.ts +11 -0
  78. package/libs/es2024/promise/index.d.ts +17 -0
  79. package/libs/es2024/regexp/index.d.ts +7 -0
  80. package/libs/es2024/sharedmemory/index.d.ts +67 -0
  81. package/libs/es2024/string/index.d.ts +11 -0
  82. package/libs/es2025/collection/index.d.ts +78 -0
  83. package/libs/es2025/float16/index.d.ts +503 -0
  84. package/libs/es2025/full/index.d.ts +6 -0
  85. package/libs/es2025/index.d.ts +7 -0
  86. package/libs/es2025/intl/index.d.ts +221 -0
  87. package/libs/es2025/iterator/index.d.ts +170 -0
  88. package/libs/es2025/promise/index.d.ts +19 -0
  89. package/libs/es2025/regexp/index.d.ts +14 -0
  90. package/libs/es5/index.d.ts +5844 -0
  91. package/libs/es6/index.d.ts +5 -0
  92. package/libs/esnext/array/index.d.ts +26 -0
  93. package/libs/esnext/collection/index.d.ts +31 -0
  94. package/libs/esnext/date/index.d.ts +5 -0
  95. package/libs/esnext/decorators/index.d.ts +10 -0
  96. package/libs/esnext/disposable/index.d.ts +173 -0
  97. package/libs/esnext/error/index.d.ts +6 -0
  98. package/libs/esnext/full/index.d.ts +6 -0
  99. package/libs/esnext/index.d.ts +11 -0
  100. package/libs/esnext/intl/index.d.ts +105 -0
  101. package/libs/esnext/sharedmemory/index.d.ts +7 -0
  102. package/libs/esnext/temporal/index.d.ts +684 -0
  103. package/libs/esnext/typedarrays/index.d.ts +78 -0
  104. package/libs/scripthost/index.d.ts +308 -0
  105. package/libs/webworker/asynciterable/index.d.ts +2 -0
  106. package/libs/webworker/importscripts/index.d.ts +5 -0
  107. package/libs/webworker/index.d.ts +18819 -0
  108. package/libs/webworker/iterable/index.d.ts +2 -0
  109. package/package.json +23 -0
@@ -0,0 +1,684 @@
1
+ /// <reference lib="es2015.symbol.wellknown" />
2
+ /// <reference lib="es2020.intl" />
3
+ /// <reference lib="es2025.intl" />
4
+
5
+ declare namespace Temporal {
6
+ type CalendarLike =
7
+ | PlainDate
8
+ | PlainDateTime
9
+ | PlainMonthDay
10
+ | PlainYearMonth
11
+ | ZonedDateTime
12
+ | string;
13
+ type DurationLike = Duration | DurationLikeObject | string;
14
+ type InstantLike = Instant | ZonedDateTime | string;
15
+ type PlainDateLike =
16
+ | PlainDate
17
+ | ZonedDateTime
18
+ | PlainDateTime
19
+ | DateLikeObject
20
+ | string;
21
+ type PlainDateTimeLike =
22
+ | PlainDateTime
23
+ | ZonedDateTime
24
+ | PlainDate
25
+ | DateTimeLikeObject
26
+ | string;
27
+ type PlainMonthDayLike = PlainMonthDay | DateLikeObject | string;
28
+ type PlainTimeLike =
29
+ | PlainTime
30
+ | PlainDateTime
31
+ | ZonedDateTime
32
+ | TimeLikeObject
33
+ | string;
34
+ type PlainYearMonthLike = PlainYearMonth | YearMonthLikeObject | string;
35
+ type TimeZoneLike = ZonedDateTime | string;
36
+ type ZonedDateTimeLike = ZonedDateTime | ZonedDateTimeLikeObject | string;
37
+
38
+ type PartialTemporalLike<T extends object> = {
39
+ readonly [
40
+ P in import('ts-type-forge').RelaxedExclude<
41
+ keyof T,
42
+ 'calendar' | 'timeZone'
43
+ >
44
+ ]?: T[P] | undefined;
45
+ };
46
+
47
+ interface DateLikeObject {
48
+ readonly year?: number | undefined;
49
+ readonly era?: string | undefined;
50
+ readonly eraYear?: number | undefined;
51
+ readonly month?: number | undefined;
52
+ readonly monthCode?: string | undefined;
53
+ readonly day: number;
54
+ readonly calendar?: string | undefined;
55
+ }
56
+
57
+ interface DateTimeLikeObject extends DateLikeObject, TimeLikeObject {}
58
+
59
+ interface DurationLikeObject {
60
+ readonly years?: number | undefined;
61
+ readonly months?: number | undefined;
62
+ readonly weeks?: number | undefined;
63
+ readonly days?: number | undefined;
64
+ readonly hours?: number | undefined;
65
+ readonly minutes?: number | undefined;
66
+ readonly seconds?: number | undefined;
67
+ readonly milliseconds?: number | undefined;
68
+ readonly microseconds?: number | undefined;
69
+ readonly nanoseconds?: number | undefined;
70
+ }
71
+
72
+ interface TimeLikeObject {
73
+ readonly hour?: number | undefined;
74
+ readonly minute?: number | undefined;
75
+ readonly second?: number | undefined;
76
+ readonly millisecond?: number | undefined;
77
+ readonly microsecond?: number | undefined;
78
+ readonly nanosecond?: number | undefined;
79
+ }
80
+
81
+ interface YearMonthLikeObject extends Omit<DateLikeObject, 'day'> {}
82
+
83
+ interface ZonedDateTimeLikeObject extends DateTimeLikeObject {
84
+ readonly timeZone: TimeZoneLike;
85
+ readonly offset?: string | undefined;
86
+ }
87
+
88
+ type DateUnit = 'year' | 'month' | 'week' | 'day';
89
+ type TimeUnit =
90
+ | 'hour'
91
+ | 'minute'
92
+ | 'second'
93
+ | 'millisecond'
94
+ | 'microsecond'
95
+ | 'nanosecond';
96
+ type PluralizeUnit<T extends DateUnit | TimeUnit> =
97
+ | T
98
+ | {
99
+ readonly year: 'years';
100
+ readonly month: 'months';
101
+ readonly week: 'weeks';
102
+ readonly day: 'days';
103
+ readonly hour: 'hours';
104
+ readonly minute: 'minutes';
105
+ readonly second: 'seconds';
106
+ readonly millisecond: 'milliseconds';
107
+ readonly microsecond: 'microseconds';
108
+ readonly nanosecond: 'nanoseconds';
109
+ }[T];
110
+
111
+ interface DisambiguationOptions {
112
+ readonly disambiguation?:
113
+ | 'compatible'
114
+ | 'earlier'
115
+ | 'later'
116
+ | 'reject'
117
+ | undefined;
118
+ }
119
+
120
+ interface OverflowOptions {
121
+ readonly overflow?: 'constrain' | 'reject' | undefined;
122
+ }
123
+
124
+ interface TransitionOptions {
125
+ readonly direction: 'next' | 'previous';
126
+ }
127
+
128
+ interface RoundingOptions<Units extends DateUnit | TimeUnit> {
129
+ readonly smallestUnit?: PluralizeUnit<Units> | undefined;
130
+ readonly roundingIncrement?: number | undefined;
131
+ readonly roundingMode?:
132
+ | 'ceil'
133
+ | 'floor'
134
+ | 'expand'
135
+ | 'trunc'
136
+ | 'halfCeil'
137
+ | 'halfFloor'
138
+ | 'halfExpand'
139
+ | 'halfTrunc'
140
+ | 'halfEven'
141
+ | undefined;
142
+ }
143
+
144
+ interface RoundingOptionsWithLargestUnit<
145
+ Units extends DateUnit | TimeUnit,
146
+ > extends RoundingOptions<Units> {
147
+ readonly largestUnit?: 'auto' | PluralizeUnit<Units> | undefined;
148
+ }
149
+
150
+ interface ToStringRoundingOptions<
151
+ Units extends DateUnit | TimeUnit,
152
+ > extends Pick<RoundingOptions<Units>, 'smallestUnit' | 'roundingMode'> {}
153
+
154
+ interface ToStringRoundingOptionsWithFractionalSeconds<
155
+ Units extends DateUnit | TimeUnit,
156
+ > extends ToStringRoundingOptions<Units> {
157
+ readonly fractionalSecondDigits?:
158
+ | 'auto'
159
+ | 0
160
+ | 1
161
+ | 2
162
+ | 3
163
+ | 4
164
+ | 5
165
+ | 6
166
+ | 7
167
+ | 8
168
+ | 9
169
+ | undefined;
170
+ }
171
+
172
+ namespace Now {
173
+ function timeZoneId(): string;
174
+ function instant(): Instant;
175
+ function plainDateTimeISO(timeZone?: TimeZoneLike): PlainDateTime;
176
+ function zonedDateTimeISO(timeZone?: TimeZoneLike): ZonedDateTime;
177
+ function plainDateISO(timeZone?: TimeZoneLike): PlainDate;
178
+ function plainTimeISO(timeZone?: TimeZoneLike): PlainTime;
179
+ }
180
+
181
+ interface PlainDateToStringOptions {
182
+ readonly calendarName?:
183
+ | 'auto'
184
+ | 'always'
185
+ | 'never'
186
+ | 'critical'
187
+ | undefined;
188
+ }
189
+
190
+ interface PlainDateToZonedDateTimeOptions {
191
+ readonly plainTime?: PlainTimeLike | undefined;
192
+ readonly timeZone: TimeZoneLike;
193
+ }
194
+
195
+ interface PlainDate {
196
+ readonly calendarId: string;
197
+ readonly era: string | undefined;
198
+ readonly eraYear: number | undefined;
199
+ readonly year: number;
200
+ readonly month: number;
201
+ readonly monthCode: string;
202
+ readonly day: number;
203
+ readonly dayOfWeek: number;
204
+ readonly dayOfYear: number;
205
+ readonly weekOfYear: number | undefined;
206
+ readonly yearOfWeek: number | undefined;
207
+ readonly daysInWeek: number;
208
+ readonly daysInMonth: number;
209
+ readonly daysInYear: number;
210
+ readonly monthsInYear: number;
211
+ readonly inLeapYear: boolean;
212
+ toPlainYearMonth(): PlainYearMonth;
213
+ toPlainMonthDay(): PlainMonthDay;
214
+ add(duration: DurationLike, options?: OverflowOptions): PlainDate;
215
+ subtract(duration: DurationLike, options?: OverflowOptions): PlainDate;
216
+ with(
217
+ dateLike: PartialTemporalLike<DateLikeObject>,
218
+ options?: OverflowOptions,
219
+ ): PlainDate;
220
+ withCalendar(calendarLike: CalendarLike): PlainDate;
221
+ until(
222
+ other: PlainDateLike,
223
+ options?: RoundingOptionsWithLargestUnit<DateUnit>,
224
+ ): Duration;
225
+ since(
226
+ other: PlainDateLike,
227
+ options?: RoundingOptionsWithLargestUnit<DateUnit>,
228
+ ): Duration;
229
+ equals(other: PlainDateLike): boolean;
230
+ toPlainDateTime(time?: PlainTimeLike): PlainDateTime;
231
+ toZonedDateTime(timeZone: TimeZoneLike): ZonedDateTime;
232
+ toZonedDateTime(item: PlainDateToZonedDateTimeOptions): ZonedDateTime;
233
+ toString(options?: PlainDateToStringOptions): string;
234
+ toLocaleString(
235
+ locales?: Intl.LocalesArgument,
236
+ options?: Intl.DateTimeFormatOptions,
237
+ ): string;
238
+ toJSON(): string;
239
+ valueOf(): never;
240
+ readonly [Symbol.toStringTag]: 'Temporal.PlainDate';
241
+ }
242
+
243
+ interface PlainDateConstructor {
244
+ new (
245
+ isoYear: number,
246
+ isoMonth: number,
247
+ isoDay: number,
248
+ calendar?: string,
249
+ ): PlainDate;
250
+ readonly prototype: PlainDate;
251
+ from(item: PlainDateLike, options?: OverflowOptions): PlainDate;
252
+ compare(one: PlainDateLike, two: PlainDateLike): number;
253
+ }
254
+ const PlainDate: PlainDateConstructor;
255
+
256
+ interface PlainTimeToStringOptions extends ToStringRoundingOptionsWithFractionalSeconds<
257
+ Exclude<TimeUnit, 'hour'>
258
+ > {}
259
+
260
+ interface PlainTime {
261
+ readonly hour: number;
262
+ readonly minute: number;
263
+ readonly second: number;
264
+ readonly millisecond: number;
265
+ readonly microsecond: number;
266
+ readonly nanosecond: number;
267
+ add(duration: DurationLike): PlainTime;
268
+ subtract(duration: DurationLike): PlainTime;
269
+ with(
270
+ timeLike: PartialTemporalLike<TimeLikeObject>,
271
+ options?: OverflowOptions,
272
+ ): PlainTime;
273
+ until(
274
+ other: PlainTimeLike,
275
+ options?: RoundingOptionsWithLargestUnit<TimeUnit>,
276
+ ): Duration;
277
+ since(
278
+ other: PlainTimeLike,
279
+ options?: RoundingOptionsWithLargestUnit<TimeUnit>,
280
+ ): Duration;
281
+ equals(other: PlainTimeLike): boolean;
282
+ round(roundTo: PluralizeUnit<TimeUnit>): PlainTime;
283
+ round(roundTo: RoundingOptions<TimeUnit>): PlainTime;
284
+ toString(options?: PlainTimeToStringOptions): string;
285
+ toLocaleString(
286
+ locales?: Intl.LocalesArgument,
287
+ options?: Intl.DateTimeFormatOptions,
288
+ ): string;
289
+ toJSON(): string;
290
+ valueOf(): never;
291
+ readonly [Symbol.toStringTag]: 'Temporal.PlainTime';
292
+ }
293
+
294
+ interface PlainTimeConstructor {
295
+ new (
296
+ hour?: number,
297
+ minute?: number,
298
+ second?: number,
299
+ millisecond?: number,
300
+ microsecond?: number,
301
+ nanosecond?: number,
302
+ ): PlainTime;
303
+ readonly prototype: PlainTime;
304
+ from(item: PlainTimeLike, options?: OverflowOptions): PlainTime;
305
+ compare(one: PlainTimeLike, two: PlainTimeLike): number;
306
+ }
307
+ const PlainTime: PlainTimeConstructor;
308
+
309
+ interface PlainDateTimeToStringOptions
310
+ extends PlainDateToStringOptions, PlainTimeToStringOptions {}
311
+
312
+ interface PlainDateTime {
313
+ readonly calendarId: string;
314
+ readonly era: string | undefined;
315
+ readonly eraYear: number | undefined;
316
+ readonly year: number;
317
+ readonly month: number;
318
+ readonly monthCode: string;
319
+ readonly day: number;
320
+ readonly hour: number;
321
+ readonly minute: number;
322
+ readonly second: number;
323
+ readonly millisecond: number;
324
+ readonly microsecond: number;
325
+ readonly nanosecond: number;
326
+ readonly dayOfWeek: number;
327
+ readonly dayOfYear: number;
328
+ readonly weekOfYear: number | undefined;
329
+ readonly yearOfWeek: number | undefined;
330
+ readonly daysInWeek: number;
331
+ readonly daysInMonth: number;
332
+ readonly daysInYear: number;
333
+ readonly monthsInYear: number;
334
+ readonly inLeapYear: boolean;
335
+ with(
336
+ dateTimeLike: PartialTemporalLike<DateTimeLikeObject>,
337
+ options?: OverflowOptions,
338
+ ): PlainDateTime;
339
+ withPlainTime(plainTime?: PlainTimeLike): PlainDateTime;
340
+ withCalendar(calendar: CalendarLike): PlainDateTime;
341
+ add(duration: DurationLike, options?: OverflowOptions): PlainDateTime;
342
+ subtract(duration: DurationLike, options?: OverflowOptions): PlainDateTime;
343
+ until(
344
+ other: PlainDateTimeLike,
345
+ options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>,
346
+ ): Duration;
347
+ since(
348
+ other: PlainDateTimeLike,
349
+ options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>,
350
+ ): Duration;
351
+ round(roundTo: PluralizeUnit<'day' | TimeUnit>): PlainDateTime;
352
+ round(roundTo: RoundingOptions<'day' | TimeUnit>): PlainDateTime;
353
+ equals(other: PlainDateTimeLike): boolean;
354
+ toString(options?: PlainDateTimeToStringOptions): string;
355
+ toLocaleString(
356
+ locales?: Intl.LocalesArgument,
357
+ options?: Intl.DateTimeFormatOptions,
358
+ ): string;
359
+ toJSON(): string;
360
+ valueOf(): never;
361
+ toZonedDateTime(
362
+ timeZone: TimeZoneLike,
363
+ options?: DisambiguationOptions,
364
+ ): ZonedDateTime;
365
+ toPlainDate(): PlainDate;
366
+ toPlainTime(): PlainTime;
367
+ readonly [Symbol.toStringTag]: 'Temporal.PlainDateTime';
368
+ }
369
+
370
+ interface PlainDateTimeConstructor {
371
+ new (
372
+ isoYear: number,
373
+ isoMonth: number,
374
+ isoDay: number,
375
+ hour?: number,
376
+ minute?: number,
377
+ second?: number,
378
+ millisecond?: number,
379
+ microsecond?: number,
380
+ nanosecond?: number,
381
+ calendar?: string,
382
+ ): PlainDateTime;
383
+ readonly prototype: PlainDateTime;
384
+ from(item: PlainDateTimeLike, options?: OverflowOptions): PlainDateTime;
385
+ compare(one: PlainDateTimeLike, two: PlainDateTimeLike): number;
386
+ }
387
+ const PlainDateTime: PlainDateTimeConstructor;
388
+
389
+ interface ZonedDateTimeToStringOptions extends PlainDateTimeToStringOptions {
390
+ readonly offset?: 'auto' | 'never' | undefined;
391
+ readonly timeZoneName?: 'auto' | 'never' | 'critical' | undefined;
392
+ }
393
+
394
+ interface ZonedDateTimeFromOptions
395
+ extends OverflowOptions, DisambiguationOptions {
396
+ readonly offset?: 'use' | 'ignore' | 'prefer' | 'reject' | undefined;
397
+ }
398
+
399
+ interface ZonedDateTime {
400
+ readonly calendarId: string;
401
+ readonly timeZoneId: string;
402
+ readonly era: string | undefined;
403
+ readonly eraYear: number | undefined;
404
+ readonly year: number;
405
+ readonly month: number;
406
+ readonly monthCode: string;
407
+ readonly day: number;
408
+ readonly hour: number;
409
+ readonly minute: number;
410
+ readonly second: number;
411
+ readonly millisecond: number;
412
+ readonly microsecond: number;
413
+ readonly nanosecond: number;
414
+ readonly epochMilliseconds: number;
415
+ readonly epochNanoseconds: bigint;
416
+ readonly dayOfWeek: number;
417
+ readonly dayOfYear: number;
418
+ readonly weekOfYear: number | undefined;
419
+ readonly yearOfWeek: number | undefined;
420
+ readonly hoursInDay: number;
421
+ readonly daysInWeek: number;
422
+ readonly daysInMonth: number;
423
+ readonly daysInYear: number;
424
+ readonly monthsInYear: number;
425
+ readonly inLeapYear: boolean;
426
+ readonly offsetNanoseconds: number;
427
+ readonly offset: string;
428
+ with(
429
+ zonedDateTimeLike: PartialTemporalLike<ZonedDateTimeLikeObject>,
430
+ options?: ZonedDateTimeFromOptions,
431
+ ): ZonedDateTime;
432
+ withPlainTime(plainTime?: PlainTimeLike): ZonedDateTime;
433
+ withTimeZone(timeZone: TimeZoneLike): ZonedDateTime;
434
+ withCalendar(calendar: CalendarLike): ZonedDateTime;
435
+ add(duration: DurationLike, options?: OverflowOptions): ZonedDateTime;
436
+ subtract(duration: DurationLike, options?: OverflowOptions): ZonedDateTime;
437
+ until(
438
+ other: ZonedDateTimeLike,
439
+ options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>,
440
+ ): Duration;
441
+ since(
442
+ other: ZonedDateTimeLike,
443
+ options?: RoundingOptionsWithLargestUnit<DateUnit | TimeUnit>,
444
+ ): Duration;
445
+ round(roundTo: PluralizeUnit<'day' | TimeUnit>): ZonedDateTime;
446
+ round(roundTo: RoundingOptions<'day' | TimeUnit>): ZonedDateTime;
447
+ equals(other: ZonedDateTimeLike): boolean;
448
+ toString(options?: ZonedDateTimeToStringOptions): string;
449
+ toLocaleString(
450
+ locales?: Intl.LocalesArgument,
451
+ options?: Intl.DateTimeFormatOptions,
452
+ ): string;
453
+ toJSON(): string;
454
+ valueOf(): never;
455
+ startOfDay(): ZonedDateTime;
456
+ getTimeZoneTransition(direction: 'next' | 'previous'): ZonedDateTime | null;
457
+ getTimeZoneTransition(direction: TransitionOptions): ZonedDateTime | null;
458
+ toInstant(): Instant;
459
+ toPlainDate(): PlainDate;
460
+ toPlainTime(): PlainTime;
461
+ toPlainDateTime(): PlainDateTime;
462
+ readonly [Symbol.toStringTag]: 'Temporal.ZonedDateTime';
463
+ }
464
+
465
+ interface ZonedDateTimeConstructor {
466
+ new (
467
+ epochNanoseconds: bigint,
468
+ timeZone: string,
469
+ calendar?: string,
470
+ ): ZonedDateTime;
471
+ readonly prototype: ZonedDateTime;
472
+ from(
473
+ item: ZonedDateTimeLike,
474
+ options?: ZonedDateTimeFromOptions,
475
+ ): ZonedDateTime;
476
+ compare(one: ZonedDateTimeLike, two: ZonedDateTimeLike): number;
477
+ }
478
+ const ZonedDateTime: ZonedDateTimeConstructor;
479
+
480
+ interface DurationRelativeToOptions {
481
+ readonly relativeTo?: ZonedDateTimeLike | PlainDateLike | undefined;
482
+ }
483
+
484
+ interface DurationRoundingOptions
485
+ extends
486
+ DurationRelativeToOptions,
487
+ RoundingOptionsWithLargestUnit<DateUnit | TimeUnit> {}
488
+
489
+ interface DurationToStringOptions extends ToStringRoundingOptionsWithFractionalSeconds<
490
+ Exclude<TimeUnit, 'hour' | 'minute'>
491
+ > {}
492
+
493
+ interface DurationTotalOptions extends DurationRelativeToOptions {
494
+ readonly unit: PluralizeUnit<DateUnit | TimeUnit>;
495
+ }
496
+
497
+ interface Duration {
498
+ readonly years: number;
499
+ readonly months: number;
500
+ readonly weeks: number;
501
+ readonly days: number;
502
+ readonly hours: number;
503
+ readonly minutes: number;
504
+ readonly seconds: number;
505
+ readonly milliseconds: number;
506
+ readonly microseconds: number;
507
+ readonly nanoseconds: number;
508
+ readonly sign: number;
509
+ readonly blank: boolean;
510
+ with(durationLike: PartialTemporalLike<DurationLikeObject>): Duration;
511
+ negated(): Duration;
512
+ abs(): Duration;
513
+ add(other: DurationLike): Duration;
514
+ subtract(other: DurationLike): Duration;
515
+ round(roundTo: PluralizeUnit<'day' | TimeUnit>): Duration;
516
+ round(roundTo: DurationRoundingOptions): Duration;
517
+ total(totalOf: PluralizeUnit<'day' | TimeUnit>): number;
518
+ total(totalOf: DurationTotalOptions): number;
519
+ toString(options?: DurationToStringOptions): string;
520
+ toLocaleString(
521
+ locales?: Intl.LocalesArgument,
522
+ options?: Intl.DurationFormatOptions,
523
+ ): string;
524
+ toJSON(): string;
525
+ valueOf(): never;
526
+ readonly [Symbol.toStringTag]: 'Temporal.Duration';
527
+ }
528
+
529
+ interface DurationConstructor {
530
+ new (
531
+ years?: number,
532
+ months?: number,
533
+ weeks?: number,
534
+ days?: number,
535
+ hours?: number,
536
+ minutes?: number,
537
+ seconds?: number,
538
+ milliseconds?: number,
539
+ microseconds?: number,
540
+ nanoseconds?: number,
541
+ ): Duration;
542
+ readonly prototype: Duration;
543
+ from(item: DurationLike): Duration;
544
+ compare(
545
+ one: DurationLike,
546
+ two: DurationLike,
547
+ options?: DurationRelativeToOptions,
548
+ ): number;
549
+ }
550
+ const Duration: DurationConstructor;
551
+
552
+ interface InstantToStringOptions extends PlainTimeToStringOptions {
553
+ readonly timeZone?: TimeZoneLike | undefined;
554
+ }
555
+
556
+ interface Instant {
557
+ readonly epochMilliseconds: number;
558
+ readonly epochNanoseconds: bigint;
559
+ add(duration: DurationLike): Instant;
560
+ subtract(duration: DurationLike): Instant;
561
+ until(
562
+ other: InstantLike,
563
+ options?: RoundingOptionsWithLargestUnit<TimeUnit>,
564
+ ): Duration;
565
+ since(
566
+ other: InstantLike,
567
+ options?: RoundingOptionsWithLargestUnit<TimeUnit>,
568
+ ): Duration;
569
+ round(roundTo: PluralizeUnit<TimeUnit>): Instant;
570
+ round(roundTo: RoundingOptions<TimeUnit>): Instant;
571
+ equals(other: InstantLike): boolean;
572
+ toString(options?: InstantToStringOptions): string;
573
+ toLocaleString(
574
+ locales?: Intl.LocalesArgument,
575
+ options?: Intl.DateTimeFormatOptions,
576
+ ): string;
577
+ toJSON(): string;
578
+ valueOf(): never;
579
+ toZonedDateTimeISO(timeZone: TimeZoneLike): ZonedDateTime;
580
+ readonly [Symbol.toStringTag]: 'Temporal.Instant';
581
+ }
582
+
583
+ interface InstantConstructor {
584
+ new (epochNanoseconds: bigint): Instant;
585
+ readonly prototype: Instant;
586
+ from(item: InstantLike): Instant;
587
+ fromEpochMilliseconds(epochMilliseconds: number): Instant;
588
+ fromEpochNanoseconds(epochNanoseconds: bigint): Instant;
589
+ compare(one: InstantLike, two: InstantLike): number;
590
+ }
591
+ const Instant: InstantConstructor;
592
+
593
+ interface PlainYearMonthToPlainDateOptions {
594
+ readonly day: number;
595
+ }
596
+
597
+ interface PlainYearMonth {
598
+ readonly calendarId: string;
599
+ readonly era: string | undefined;
600
+ readonly eraYear: number | undefined;
601
+ readonly year: number;
602
+ readonly month: number;
603
+ readonly monthCode: string;
604
+ readonly daysInYear: number;
605
+ readonly daysInMonth: number;
606
+ readonly monthsInYear: number;
607
+ readonly inLeapYear: boolean;
608
+ with(
609
+ yearMonthLike: PartialTemporalLike<YearMonthLikeObject>,
610
+ options?: OverflowOptions,
611
+ ): PlainYearMonth;
612
+ add(duration: DurationLike, options?: OverflowOptions): PlainYearMonth;
613
+ subtract(duration: DurationLike, options?: OverflowOptions): PlainYearMonth;
614
+ until(
615
+ other: PlainYearMonthLike,
616
+ options?: RoundingOptionsWithLargestUnit<'year' | 'month'>,
617
+ ): Duration;
618
+ since(
619
+ other: PlainYearMonthLike,
620
+ options?: RoundingOptionsWithLargestUnit<'year' | 'month'>,
621
+ ): Duration;
622
+ equals(other: PlainYearMonthLike): boolean;
623
+ toString(options?: PlainDateToStringOptions): string;
624
+ toLocaleString(
625
+ locales?: Intl.LocalesArgument,
626
+ options?: Intl.DateTimeFormatOptions,
627
+ ): string;
628
+ toJSON(): string;
629
+ valueOf(): never;
630
+ toPlainDate(item: PlainYearMonthToPlainDateOptions): PlainDate;
631
+ readonly [Symbol.toStringTag]: 'Temporal.PlainYearMonth';
632
+ }
633
+
634
+ interface PlainYearMonthConstructor {
635
+ new (
636
+ isoYear: number,
637
+ isoMonth: number,
638
+ calendar?: string,
639
+ referenceISODay?: number,
640
+ ): PlainYearMonth;
641
+ readonly prototype: PlainYearMonth;
642
+ from(item: PlainYearMonthLike, options?: OverflowOptions): PlainYearMonth;
643
+ compare(one: PlainYearMonthLike, two: PlainYearMonthLike): number;
644
+ }
645
+ const PlainYearMonth: PlainYearMonthConstructor;
646
+
647
+ interface PlainMonthDayToPlainDateOptions {
648
+ readonly era?: string | undefined;
649
+ readonly eraYear?: number | undefined;
650
+ readonly year?: number | undefined;
651
+ }
652
+
653
+ interface PlainMonthDay {
654
+ readonly calendarId: string;
655
+ readonly monthCode: string;
656
+ readonly day: number;
657
+ with(
658
+ monthDayLike: PartialTemporalLike<DateLikeObject>,
659
+ options?: OverflowOptions,
660
+ ): PlainMonthDay;
661
+ equals(other: PlainMonthDayLike): boolean;
662
+ toString(options?: PlainDateToStringOptions): string;
663
+ toLocaleString(
664
+ locales?: Intl.LocalesArgument,
665
+ options?: Intl.DateTimeFormatOptions,
666
+ ): string;
667
+ toJSON(): string;
668
+ valueOf(): never;
669
+ toPlainDate(item: PlainMonthDayToPlainDateOptions): PlainDate;
670
+ readonly [Symbol.toStringTag]: 'Temporal.PlainMonthDay';
671
+ }
672
+
673
+ interface PlainMonthDayConstructor {
674
+ new (
675
+ isoMonth: number,
676
+ isoDay: number,
677
+ calendar?: string,
678
+ referenceISOYear?: number,
679
+ ): PlainMonthDay;
680
+ readonly prototype: PlainMonthDay;
681
+ from(item: PlainMonthDayLike, options?: OverflowOptions): PlainMonthDay;
682
+ }
683
+ const PlainMonthDay: PlainMonthDayConstructor;
684
+ }