chronolizer 0.1.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.
@@ -0,0 +1,969 @@
1
+ import { Context, DateTime, Effect, Layer, Option, Schema, Scope } from "effect";
2
+ //#region src/ast/schemas.d.ts
3
+ declare const Unit: Schema.Literals<readonly ["day", "week", "month", "quarter", "year"]>;
4
+ type Unit = typeof Unit.Type;
5
+ declare const daysInMonth: (year: number, month: number) => 28 | 29 | 30 | 31;
6
+ declare const isIsoDate: (value: string) => boolean;
7
+ declare const IsoDate: Schema.String;
8
+ type IsoDate = typeof IsoDate.Type;
9
+ interface Now {
10
+ readonly _tag: "Now";
11
+ }
12
+ interface DateLiteral {
13
+ readonly _tag: "DateLiteral";
14
+ readonly value: IsoDate;
15
+ }
16
+ interface Shift {
17
+ readonly _tag: "Shift";
18
+ readonly base: InstantExpr;
19
+ readonly amount: number;
20
+ readonly unit: Unit;
21
+ }
22
+ interface StartOf {
23
+ readonly _tag: "StartOf";
24
+ readonly base: InstantExpr;
25
+ readonly unit: Unit;
26
+ }
27
+ type InstantExpr = Now | DateLiteral | Shift | StartOf;
28
+ declare const Now: Schema.TaggedStruct<"Now", {}>;
29
+ declare const DateLiteral: Schema.TaggedStruct<"DateLiteral", {
30
+ readonly value: Schema.String;
31
+ }>;
32
+ declare const Shift: Schema.Codec<Shift>;
33
+ declare const StartOf: Schema.Codec<StartOf>;
34
+ declare const InstantExpr: Schema.Codec<InstantExpr>;
35
+ declare const GreaterThan: Schema.TaggedStruct<"GreaterThan", {
36
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
37
+ }>;
38
+ declare const GreaterThanOrEqual: Schema.TaggedStruct<"GreaterThanOrEqual", {
39
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
40
+ }>;
41
+ declare const LessThan: Schema.TaggedStruct<"LessThan", {
42
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
43
+ }>;
44
+ declare const LessThanOrEqual: Schema.TaggedStruct<"LessThanOrEqual", {
45
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
46
+ }>;
47
+ declare const LowerBound: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
48
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
49
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
50
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
51
+ }>]>;
52
+ type LowerBound = typeof LowerBound.Type;
53
+ declare const UpperBound: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
54
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
55
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
56
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
57
+ }>]>;
58
+ type UpperBound = typeof UpperBound.Type;
59
+ declare const DateRangeExpr: Schema.Union<readonly [Schema.TaggedStruct<"DateRange", {
60
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
61
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
62
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
63
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
64
+ }>]>;
65
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
66
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
67
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
68
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
69
+ }>]>;
70
+ }>, Schema.TaggedStruct<"DateRange", {
71
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
72
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
73
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
74
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
75
+ }>]>;
76
+ readonly upper: Schema.optionalKey<Schema.Never>;
77
+ }>, Schema.TaggedStruct<"DateRange", {
78
+ readonly lower: Schema.optionalKey<Schema.Never>;
79
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
80
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
81
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
82
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
83
+ }>]>;
84
+ }>]>;
85
+ type DateRangeExpr = typeof DateRangeExpr.Type;
86
+ //#endregion
87
+ //#region src/ast/constructors.d.ts
88
+ declare const now: () => {
89
+ readonly _tag: "Now";
90
+ };
91
+ declare const dateLiteral: (value: IsoDate) => {
92
+ readonly _tag: "DateLiteral";
93
+ readonly value: string;
94
+ };
95
+ declare const shift: (base: InstantExpr, amount: number, unit: Unit) => Shift;
96
+ declare const startOf: (base: InstantExpr, unit: Unit) => StartOf;
97
+ declare const greaterThan: (value: InstantExpr) => {
98
+ readonly _tag: "GreaterThan";
99
+ readonly value: InstantExpr;
100
+ };
101
+ declare const greaterThanOrEqual: (value: InstantExpr) => {
102
+ readonly _tag: "GreaterThanOrEqual";
103
+ readonly value: InstantExpr;
104
+ };
105
+ declare const lessThan: (value: InstantExpr) => {
106
+ readonly _tag: "LessThan";
107
+ readonly value: InstantExpr;
108
+ };
109
+ declare const lessThanOrEqual: (value: InstantExpr) => {
110
+ readonly _tag: "LessThanOrEqual";
111
+ readonly value: InstantExpr;
112
+ };
113
+ declare const boundedRange: (lower: LowerBound, upper: UpperBound) => {
114
+ readonly _tag: "DateRange";
115
+ readonly lower: {
116
+ readonly _tag: "GreaterThan";
117
+ readonly value: InstantExpr;
118
+ } | {
119
+ readonly _tag: "GreaterThanOrEqual";
120
+ readonly value: InstantExpr;
121
+ };
122
+ readonly upper: {
123
+ readonly _tag: "LessThan";
124
+ readonly value: InstantExpr;
125
+ } | {
126
+ readonly _tag: "LessThanOrEqual";
127
+ readonly value: InstantExpr;
128
+ };
129
+ } | {
130
+ readonly _tag: "DateRange";
131
+ readonly lower: {
132
+ readonly _tag: "GreaterThan";
133
+ readonly value: InstantExpr;
134
+ } | {
135
+ readonly _tag: "GreaterThanOrEqual";
136
+ readonly value: InstantExpr;
137
+ };
138
+ readonly upper?: undefined;
139
+ } | {
140
+ readonly _tag: "DateRange";
141
+ readonly lower?: undefined;
142
+ readonly upper: {
143
+ readonly _tag: "LessThan";
144
+ readonly value: InstantExpr;
145
+ } | {
146
+ readonly _tag: "LessThanOrEqual";
147
+ readonly value: InstantExpr;
148
+ };
149
+ };
150
+ declare const lowerOpenRange: (lower: LowerBound) => {
151
+ readonly _tag: "DateRange";
152
+ readonly lower: {
153
+ readonly _tag: "GreaterThan";
154
+ readonly value: InstantExpr;
155
+ } | {
156
+ readonly _tag: "GreaterThanOrEqual";
157
+ readonly value: InstantExpr;
158
+ };
159
+ readonly upper: {
160
+ readonly _tag: "LessThan";
161
+ readonly value: InstantExpr;
162
+ } | {
163
+ readonly _tag: "LessThanOrEqual";
164
+ readonly value: InstantExpr;
165
+ };
166
+ } | {
167
+ readonly _tag: "DateRange";
168
+ readonly lower: {
169
+ readonly _tag: "GreaterThan";
170
+ readonly value: InstantExpr;
171
+ } | {
172
+ readonly _tag: "GreaterThanOrEqual";
173
+ readonly value: InstantExpr;
174
+ };
175
+ readonly upper?: undefined;
176
+ } | {
177
+ readonly _tag: "DateRange";
178
+ readonly lower?: undefined;
179
+ readonly upper: {
180
+ readonly _tag: "LessThan";
181
+ readonly value: InstantExpr;
182
+ } | {
183
+ readonly _tag: "LessThanOrEqual";
184
+ readonly value: InstantExpr;
185
+ };
186
+ };
187
+ declare const upperOpenRange: (upper: UpperBound) => {
188
+ readonly _tag: "DateRange";
189
+ readonly lower: {
190
+ readonly _tag: "GreaterThan";
191
+ readonly value: InstantExpr;
192
+ } | {
193
+ readonly _tag: "GreaterThanOrEqual";
194
+ readonly value: InstantExpr;
195
+ };
196
+ readonly upper: {
197
+ readonly _tag: "LessThan";
198
+ readonly value: InstantExpr;
199
+ } | {
200
+ readonly _tag: "LessThanOrEqual";
201
+ readonly value: InstantExpr;
202
+ };
203
+ } | {
204
+ readonly _tag: "DateRange";
205
+ readonly lower: {
206
+ readonly _tag: "GreaterThan";
207
+ readonly value: InstantExpr;
208
+ } | {
209
+ readonly _tag: "GreaterThanOrEqual";
210
+ readonly value: InstantExpr;
211
+ };
212
+ readonly upper?: undefined;
213
+ } | {
214
+ readonly _tag: "DateRange";
215
+ readonly lower?: undefined;
216
+ readonly upper: {
217
+ readonly _tag: "LessThan";
218
+ readonly value: InstantExpr;
219
+ } | {
220
+ readonly _tag: "LessThanOrEqual";
221
+ readonly value: InstantExpr;
222
+ };
223
+ };
224
+ //#endregion
225
+ //#region src/ast/fold.d.ts
226
+ interface InstantAlgebra<A> {
227
+ readonly now: () => A;
228
+ readonly dateLiteral: (value: IsoDate) => A;
229
+ readonly shift: (base: A, amount: number, unit: Unit) => A;
230
+ readonly startOf: (base: A, unit: Unit) => A;
231
+ }
232
+ declare const foldInstant: <A>(expression: InstantExpr, algebra: InstantAlgebra<A>) => A;
233
+ declare const containsPositiveShift: (range: DateRangeExpr) => boolean;
234
+ //#endregion
235
+ //#region src/ast/normalize.d.ts
236
+ declare const normalizeInstant: (expression: InstantExpr) => InstantExpr;
237
+ declare const normalizeRange: (range: DateRangeExpr) => {
238
+ readonly _tag: "DateRange";
239
+ readonly lower: {
240
+ readonly _tag: "GreaterThan";
241
+ readonly value: InstantExpr;
242
+ } | {
243
+ readonly _tag: "GreaterThanOrEqual";
244
+ readonly value: InstantExpr;
245
+ };
246
+ readonly upper: {
247
+ readonly _tag: "LessThan";
248
+ readonly value: InstantExpr;
249
+ } | {
250
+ readonly _tag: "LessThanOrEqual";
251
+ readonly value: InstantExpr;
252
+ };
253
+ } | {
254
+ readonly _tag: "DateRange";
255
+ readonly lower: {
256
+ readonly _tag: "GreaterThan";
257
+ readonly value: InstantExpr;
258
+ } | {
259
+ readonly _tag: "GreaterThanOrEqual";
260
+ readonly value: InstantExpr;
261
+ };
262
+ readonly upper?: undefined;
263
+ } | {
264
+ readonly _tag: "DateRange";
265
+ readonly lower?: undefined;
266
+ readonly upper: {
267
+ readonly _tag: "LessThan";
268
+ readonly value: InstantExpr;
269
+ } | {
270
+ readonly _tag: "LessThanOrEqual";
271
+ readonly value: InstantExpr;
272
+ };
273
+ };
274
+ //#endregion
275
+ //#region src/filter/errors.d.ts
276
+ declare const FilterExpressionParseError_base: Schema.Class<FilterExpressionParseError, Schema.TaggedStruct<"FilterExpressionParseError", {
277
+ readonly input: Schema.String;
278
+ readonly offset: Schema.Int;
279
+ readonly expected: Schema.String;
280
+ }>, import("effect/Cause").YieldableError>;
281
+ declare class FilterExpressionParseError extends FilterExpressionParseError_base {}
282
+ declare const InvalidDateFilterError_base: Schema.Class<InvalidDateFilterError, Schema.TaggedStruct<"InvalidDateFilterError", {
283
+ readonly message: Schema.String;
284
+ }>, import("effect/Cause").YieldableError>;
285
+ declare class InvalidDateFilterError extends InvalidDateFilterError_base {}
286
+ //#endregion
287
+ //#region src/filter/codec.d.ts
288
+ declare const parseFilter: (filter: {
289
+ readonly gt?: string | undefined;
290
+ readonly gte?: string | undefined;
291
+ readonly lt?: string | undefined;
292
+ readonly lte?: string | undefined;
293
+ }) => Effect.Effect<{
294
+ readonly _tag: "DateRange";
295
+ readonly lower: {
296
+ readonly _tag: "GreaterThan";
297
+ readonly value: InstantExpr;
298
+ } | {
299
+ readonly _tag: "GreaterThanOrEqual";
300
+ readonly value: InstantExpr;
301
+ };
302
+ readonly upper: {
303
+ readonly _tag: "LessThan";
304
+ readonly value: InstantExpr;
305
+ } | {
306
+ readonly _tag: "LessThanOrEqual";
307
+ readonly value: InstantExpr;
308
+ };
309
+ } | {
310
+ readonly _tag: "DateRange";
311
+ readonly lower: {
312
+ readonly _tag: "GreaterThan";
313
+ readonly value: InstantExpr;
314
+ } | {
315
+ readonly _tag: "GreaterThanOrEqual";
316
+ readonly value: InstantExpr;
317
+ };
318
+ readonly upper?: undefined;
319
+ } | {
320
+ readonly _tag: "DateRange";
321
+ readonly lower?: undefined;
322
+ readonly upper: {
323
+ readonly _tag: "LessThan";
324
+ readonly value: InstantExpr;
325
+ } | {
326
+ readonly _tag: "LessThanOrEqual";
327
+ readonly value: InstantExpr;
328
+ };
329
+ }, FilterExpressionParseError | InvalidDateFilterError, never>;
330
+ declare const formatFilter: (range: DateRangeExpr) => {
331
+ readonly gt?: string | undefined;
332
+ readonly gte?: string | undefined;
333
+ readonly lt?: string | undefined;
334
+ readonly lte?: string | undefined;
335
+ };
336
+ declare const rangeKey: (range: DateRangeExpr) => string;
337
+ declare const completePeriod: (start: InstantExpr, end: InstantExpr) => {
338
+ readonly _tag: "DateRange";
339
+ readonly lower: {
340
+ readonly _tag: "GreaterThan";
341
+ readonly value: InstantExpr;
342
+ } | {
343
+ readonly _tag: "GreaterThanOrEqual";
344
+ readonly value: InstantExpr;
345
+ };
346
+ readonly upper: {
347
+ readonly _tag: "LessThan";
348
+ readonly value: InstantExpr;
349
+ } | {
350
+ readonly _tag: "LessThanOrEqual";
351
+ readonly value: InstantExpr;
352
+ };
353
+ } | {
354
+ readonly _tag: "DateRange";
355
+ readonly lower: {
356
+ readonly _tag: "GreaterThan";
357
+ readonly value: InstantExpr;
358
+ } | {
359
+ readonly _tag: "GreaterThanOrEqual";
360
+ readonly value: InstantExpr;
361
+ };
362
+ readonly upper?: undefined;
363
+ } | {
364
+ readonly _tag: "DateRange";
365
+ readonly lower?: undefined;
366
+ readonly upper: {
367
+ readonly _tag: "LessThan";
368
+ readonly value: InstantExpr;
369
+ } | {
370
+ readonly _tag: "LessThanOrEqual";
371
+ readonly value: InstantExpr;
372
+ };
373
+ };
374
+ //#endregion
375
+ //#region src/filter/expression.d.ts
376
+ declare const parseInstantExpression: (input: string) => Effect.Effect<InstantExpr, FilterExpressionParseError, never>;
377
+ declare const formatInstantExpression: (expression: InstantExpr) => string;
378
+ //#endregion
379
+ //#region src/filter/schema.d.ts
380
+ declare const DateExpressionString: Schema.String;
381
+ type DateExpressionString = typeof DateExpressionString.Type;
382
+ declare const DateFilter: Schema.Struct<{
383
+ readonly gt: Schema.optionalKey<Schema.String>;
384
+ readonly gte: Schema.optionalKey<Schema.String>;
385
+ readonly lt: Schema.optionalKey<Schema.String>;
386
+ readonly lte: Schema.optionalKey<Schema.String>;
387
+ }>;
388
+ type DateFilter = typeof DateFilter.Type;
389
+ //#endregion
390
+ //#region src/filter/transformation.d.ts
391
+ declare const InstantExpressionFromString: Schema.decodeTo<Schema.Codec<InstantExpr, InstantExpr, never, never>, Schema.String, never, never>;
392
+ declare const DateRangeFromFilter: Schema.decodeTo<Schema.Union<readonly [Schema.TaggedStruct<"DateRange", {
393
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
394
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
395
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
396
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
397
+ }>]>;
398
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
399
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
400
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
401
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
402
+ }>]>;
403
+ }>, Schema.TaggedStruct<"DateRange", {
404
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
405
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
406
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
407
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
408
+ }>]>;
409
+ readonly upper: Schema.optionalKey<Schema.Never>;
410
+ }>, Schema.TaggedStruct<"DateRange", {
411
+ readonly lower: Schema.optionalKey<Schema.Never>;
412
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
413
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
414
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
415
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
416
+ }>]>;
417
+ }>]>, Schema.Struct<{
418
+ readonly gt: Schema.optionalKey<Schema.String>;
419
+ readonly gte: Schema.optionalKey<Schema.String>;
420
+ readonly lt: Schema.optionalKey<Schema.String>;
421
+ readonly lte: Schema.optionalKey<Schema.String>;
422
+ }>, never, never>;
423
+ //#endregion
424
+ //#region src/language/errors.d.ts
425
+ declare const UnsupportedLocaleError_base: Schema.Class<UnsupportedLocaleError, Schema.TaggedStruct<"UnsupportedLocaleError", {
426
+ readonly locale: Schema.String;
427
+ }>, import("effect/Cause").YieldableError>;
428
+ declare class UnsupportedLocaleError extends UnsupportedLocaleError_base {}
429
+ declare const LanguageConflictError_base: Schema.Class<LanguageConflictError, Schema.TaggedStruct<"LanguageConflictError", {
430
+ readonly locale: Schema.String;
431
+ readonly firstPluginId: Schema.String;
432
+ readonly secondPluginId: Schema.String;
433
+ readonly message: Schema.String;
434
+ }>, import("effect/Cause").YieldableError>;
435
+ declare class LanguageConflictError extends LanguageConflictError_base {}
436
+ declare const LanguageRegistrationError_base: Schema.Class<LanguageRegistrationError, Schema.TaggedStruct<"LanguageRegistrationError", {
437
+ readonly pluginId: Schema.String;
438
+ readonly locale: Schema.String;
439
+ readonly message: Schema.String;
440
+ }>, import("effect/Cause").YieldableError>;
441
+ declare class LanguageRegistrationError extends LanguageRegistrationError_base {}
442
+ declare const NaturalLanguageParseError_base: Schema.Class<NaturalLanguageParseError, Schema.TaggedStruct<"NaturalLanguageParseError", {
443
+ readonly input: Schema.String;
444
+ readonly locale: Schema.String;
445
+ readonly message: Schema.String;
446
+ }>, import("effect/Cause").YieldableError>;
447
+ declare class NaturalLanguageParseError extends NaturalLanguageParseError_base {}
448
+ declare const AmbiguousNaturalLanguageError_base: Schema.Class<AmbiguousNaturalLanguageError, Schema.TaggedStruct<"AmbiguousNaturalLanguageError", {
449
+ readonly input: Schema.String;
450
+ readonly locale: Schema.String;
451
+ readonly alternatives: Schema.$Array<Schema.String>;
452
+ }>, import("effect/Cause").YieldableError>;
453
+ declare class AmbiguousNaturalLanguageError extends AmbiguousNaturalLanguageError_base {}
454
+ declare const NaturalLanguageRenderError_base: Schema.Class<NaturalLanguageRenderError, Schema.TaggedStruct<"NaturalLanguageRenderError", {
455
+ readonly locale: Schema.String;
456
+ readonly message: Schema.String;
457
+ }>, import("effect/Cause").YieldableError>;
458
+ declare class NaturalLanguageRenderError extends NaturalLanguageRenderError_base {}
459
+ //#endregion
460
+ //#region src/language/model.d.ts
461
+ declare const ParseQuality: Schema.Literals<readonly ["exact", "corrected", "ambiguous"]>;
462
+ type ParseQuality = typeof ParseQuality.Type;
463
+ declare const Correction: Schema.Struct<{
464
+ readonly original: Schema.String;
465
+ readonly replacement: Schema.String;
466
+ readonly distance: Schema.Int;
467
+ readonly offset: Schema.Int;
468
+ }>;
469
+ type Correction = typeof Correction.Type;
470
+ declare const NaturalCorrectionCandidate: Schema.Struct<{
471
+ readonly text: Schema.String;
472
+ readonly corrections: Schema.$Array<Schema.Struct<{
473
+ readonly original: Schema.String;
474
+ readonly replacement: Schema.String;
475
+ readonly distance: Schema.Int;
476
+ readonly offset: Schema.Int;
477
+ }>>;
478
+ readonly cost: Schema.Int;
479
+ }>;
480
+ type NaturalCorrectionCandidate = typeof NaturalCorrectionCandidate.Type;
481
+ declare const NaturalAlternative: Schema.Struct<{
482
+ readonly canonical: Schema.String;
483
+ readonly range: Schema.Union<readonly [Schema.TaggedStruct<"DateRange", {
484
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
485
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
486
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
487
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
488
+ }>]>;
489
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
490
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
491
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
492
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
493
+ }>]>;
494
+ }>, Schema.TaggedStruct<"DateRange", {
495
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
496
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
497
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
498
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
499
+ }>]>;
500
+ readonly upper: Schema.optionalKey<Schema.Never>;
501
+ }>, Schema.TaggedStruct<"DateRange", {
502
+ readonly lower: Schema.optionalKey<Schema.Never>;
503
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
504
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
505
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
506
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
507
+ }>]>;
508
+ }>]>;
509
+ }>;
510
+ type NaturalAlternative = typeof NaturalAlternative.Type;
511
+ declare const NaturalParseResult: Schema.Struct<{
512
+ readonly range: Schema.Union<readonly [Schema.TaggedStruct<"DateRange", {
513
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
514
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
515
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
516
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
517
+ }>]>;
518
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
519
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
520
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
521
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
522
+ }>]>;
523
+ }>, Schema.TaggedStruct<"DateRange", {
524
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
525
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
526
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
527
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
528
+ }>]>;
529
+ readonly upper: Schema.optionalKey<Schema.Never>;
530
+ }>, Schema.TaggedStruct<"DateRange", {
531
+ readonly lower: Schema.optionalKey<Schema.Never>;
532
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
533
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
534
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
535
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
536
+ }>]>;
537
+ }>]>;
538
+ readonly quality: Schema.Literals<readonly ["exact", "corrected", "ambiguous"]>;
539
+ readonly corrections: Schema.$Array<Schema.Struct<{
540
+ readonly original: Schema.String;
541
+ readonly replacement: Schema.String;
542
+ readonly distance: Schema.Int;
543
+ readonly offset: Schema.Int;
544
+ }>>;
545
+ readonly alternatives: Schema.$Array<Schema.Struct<{
546
+ readonly canonical: Schema.String;
547
+ readonly range: Schema.Union<readonly [Schema.TaggedStruct<"DateRange", {
548
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
549
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
550
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
551
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
552
+ }>]>;
553
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
554
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
555
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
556
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
557
+ }>]>;
558
+ }>, Schema.TaggedStruct<"DateRange", {
559
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
560
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
561
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
562
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
563
+ }>]>;
564
+ readonly upper: Schema.optionalKey<Schema.Never>;
565
+ }>, Schema.TaggedStruct<"DateRange", {
566
+ readonly lower: Schema.optionalKey<Schema.Never>;
567
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
568
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
569
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
570
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
571
+ }>]>;
572
+ }>]>;
573
+ }>>;
574
+ }>;
575
+ type NaturalParseResult = typeof NaturalParseResult.Type;
576
+ declare const NaturalCandidate: Schema.Struct<{
577
+ readonly range: Schema.Union<readonly [Schema.TaggedStruct<"DateRange", {
578
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
579
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
580
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
581
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
582
+ }>]>;
583
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
584
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
585
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
586
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
587
+ }>]>;
588
+ }>, Schema.TaggedStruct<"DateRange", {
589
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
590
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
591
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
592
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
593
+ }>]>;
594
+ readonly upper: Schema.optionalKey<Schema.Never>;
595
+ }>, Schema.TaggedStruct<"DateRange", {
596
+ readonly lower: Schema.optionalKey<Schema.Never>;
597
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
598
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
599
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
600
+ readonly value: Schema.Codec<InstantExpr, InstantExpr, never, never>;
601
+ }>]>;
602
+ }>]>;
603
+ readonly canonical: Schema.String;
604
+ }>;
605
+ type NaturalCandidate = typeof NaturalCandidate.Type;
606
+ declare const BaseLanguageContribution_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
607
+ readonly _tag: "BaseLanguage";
608
+ } & import("effect/Pipeable").Pipeable;
609
+ declare class BaseLanguageContribution extends BaseLanguageContribution_base<{
610
+ readonly locale: string;
611
+ readonly vocabulary: ReadonlyArray<string>;
612
+ readonly normalize?: (input: string, locale: string) => string;
613
+ readonly correct: ((input: string, vocabulary: ReadonlyArray<string>) => ReadonlyArray<NaturalCorrectionCandidate>) | undefined;
614
+ readonly parseExact: (input: string) => Option.Option<NaturalCandidate>;
615
+ readonly render: (range: DateRangeExpr) => Option.Option<string>;
616
+ }> {}
617
+ declare const LanguageExtensionContribution_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
618
+ readonly _tag: "LanguageExtension";
619
+ } & import("effect/Pipeable").Pipeable;
620
+ declare class LanguageExtensionContribution extends LanguageExtensionContribution_base<{
621
+ readonly locale: string;
622
+ readonly priority: number;
623
+ readonly vocabulary: ReadonlyArray<string>;
624
+ readonly parseExact: (input: string) => Option.Option<NaturalCandidate>;
625
+ }> {}
626
+ type LanguageContribution = BaseLanguageContribution | LanguageExtensionContribution;
627
+ declare const canonicalBaseLocale: (input: string) => Option.Option<string>;
628
+ declare const Locale: Schema.String;
629
+ declare const BaseLanguageMetadata: Schema.TaggedStruct<"BaseLanguage", {
630
+ readonly locale: Schema.String;
631
+ readonly vocabulary: Schema.$Array<Schema.String>;
632
+ }>;
633
+ declare const LanguageExtensionMetadata: Schema.TaggedStruct<"LanguageExtension", {
634
+ readonly locale: Schema.String;
635
+ readonly priority: Schema.Int;
636
+ readonly vocabulary: Schema.$Array<Schema.String>;
637
+ }>;
638
+ declare const LanguageContributionMetadata: Schema.Union<readonly [Schema.TaggedStruct<"BaseLanguage", {
639
+ readonly locale: Schema.String;
640
+ readonly vocabulary: Schema.$Array<Schema.String>;
641
+ }>, Schema.TaggedStruct<"LanguageExtension", {
642
+ readonly locale: Schema.String;
643
+ readonly priority: Schema.Int;
644
+ readonly vocabulary: Schema.$Array<Schema.String>;
645
+ }>]>;
646
+ interface LanguagePluginContext {
647
+ readonly register: (pluginId: string, contribution: LanguageContribution) => Effect.Effect<void, LanguageRegistrationError | LanguageConflictError, Scope.Scope>;
648
+ }
649
+ interface LanguagePlugin {
650
+ readonly id: string;
651
+ readonly effect: (context: LanguagePluginContext) => Effect.Effect<void, LanguageRegistrationError | LanguageConflictError, Scope.Scope>;
652
+ }
653
+ interface CompiledLanguage {
654
+ readonly locale: string;
655
+ readonly vocabulary: ReadonlyArray<string>;
656
+ readonly normalize: (input: string, locale: string) => string;
657
+ readonly correct: ((input: string, vocabulary: ReadonlyArray<string>) => ReadonlyArray<NaturalCorrectionCandidate>) | undefined;
658
+ readonly parseExact: (input: string) => ReadonlyArray<NaturalCandidate>;
659
+ readonly render: (range: DateRangeExpr) => Option.Option<string>;
660
+ }
661
+ //#endregion
662
+ //#region src/language/registry.d.ts
663
+ declare namespace LanguageRegistry {
664
+ interface Service {
665
+ readonly register: (pluginId: string, contribution: LanguageContribution) => Effect.Effect<void, LanguageRegistrationError | LanguageConflictError, Scope.Scope>;
666
+ readonly resolve: (locale: string) => Effect.Effect<CompiledLanguage, UnsupportedLocaleError>;
667
+ }
668
+ }
669
+ declare const LanguageRegistry_base: Context.ServiceClass<LanguageRegistry, "chronolizer/LanguageRegistry", LanguageRegistry.Service>;
670
+ declare class LanguageRegistry extends LanguageRegistry_base {}
671
+ declare const LanguageRegistryLayer: Layer.Layer<LanguageRegistry, never, never>;
672
+ declare const languagePluginsLayer: (plugins: ReadonlyArray<LanguagePlugin>) => Layer.Layer<LanguageRegistry, LanguageConflictError | LanguageRegistrationError, never>;
673
+ declare const defineLanguagePlugin: (plugin: LanguagePlugin) => LanguagePlugin;
674
+ //#endregion
675
+ //#region src/locales/de.d.ts
676
+ declare const GermanContribution: BaseLanguageContribution;
677
+ declare const GermanLanguage: LanguagePlugin;
678
+ declare const GermanLanguageLayer: import("effect/Layer").Layer<LanguageRegistry, LanguageConflictError | LanguageRegistrationError, never>;
679
+ //#endregion
680
+ //#region src/locales/default.d.ts
681
+ declare const DefaultLanguageLayer: import("effect/Layer").Layer<LanguageRegistry, LanguageConflictError | LanguageRegistrationError, never>;
682
+ //#endregion
683
+ //#region src/locales/en.d.ts
684
+ declare const EnglishContribution: BaseLanguageContribution;
685
+ declare const EnglishLanguage: LanguagePlugin;
686
+ declare const EnglishLanguageLayer: import("effect/Layer").Layer<LanguageRegistry, LanguageConflictError | LanguageRegistrationError, never>;
687
+ //#endregion
688
+ //#region src/natural/api.d.ts
689
+ interface ParseNaturalOptions {
690
+ readonly locale: string;
691
+ readonly typoMode?: "strict" | "tolerant";
692
+ readonly allowFuture?: boolean;
693
+ }
694
+ interface FormatNaturalOptions {
695
+ readonly locale: string;
696
+ }
697
+ declare const parseNatural: (input: string, options: ParseNaturalOptions) => Effect.Effect<{
698
+ readonly range: {
699
+ readonly _tag: "DateRange";
700
+ readonly lower: {
701
+ readonly _tag: "GreaterThan";
702
+ readonly value: InstantExpr;
703
+ } | {
704
+ readonly _tag: "GreaterThanOrEqual";
705
+ readonly value: InstantExpr;
706
+ };
707
+ readonly upper: {
708
+ readonly _tag: "LessThan";
709
+ readonly value: InstantExpr;
710
+ } | {
711
+ readonly _tag: "LessThanOrEqual";
712
+ readonly value: InstantExpr;
713
+ };
714
+ } | {
715
+ readonly _tag: "DateRange";
716
+ readonly lower: {
717
+ readonly _tag: "GreaterThan";
718
+ readonly value: InstantExpr;
719
+ } | {
720
+ readonly _tag: "GreaterThanOrEqual";
721
+ readonly value: InstantExpr;
722
+ };
723
+ readonly upper?: undefined;
724
+ } | {
725
+ readonly _tag: "DateRange";
726
+ readonly lower?: undefined;
727
+ readonly upper: {
728
+ readonly _tag: "LessThan";
729
+ readonly value: InstantExpr;
730
+ } | {
731
+ readonly _tag: "LessThanOrEqual";
732
+ readonly value: InstantExpr;
733
+ };
734
+ };
735
+ readonly quality: "ambiguous" | "corrected" | "exact";
736
+ readonly corrections: readonly {
737
+ readonly original: string;
738
+ readonly replacement: string;
739
+ readonly distance: number;
740
+ readonly offset: number;
741
+ }[];
742
+ readonly alternatives: readonly {
743
+ readonly canonical: string;
744
+ readonly range: {
745
+ readonly _tag: "DateRange";
746
+ readonly lower: {
747
+ readonly _tag: "GreaterThan";
748
+ readonly value: InstantExpr;
749
+ } | {
750
+ readonly _tag: "GreaterThanOrEqual";
751
+ readonly value: InstantExpr;
752
+ };
753
+ readonly upper: {
754
+ readonly _tag: "LessThan";
755
+ readonly value: InstantExpr;
756
+ } | {
757
+ readonly _tag: "LessThanOrEqual";
758
+ readonly value: InstantExpr;
759
+ };
760
+ } | {
761
+ readonly _tag: "DateRange";
762
+ readonly lower: {
763
+ readonly _tag: "GreaterThan";
764
+ readonly value: InstantExpr;
765
+ } | {
766
+ readonly _tag: "GreaterThanOrEqual";
767
+ readonly value: InstantExpr;
768
+ };
769
+ readonly upper?: undefined;
770
+ } | {
771
+ readonly _tag: "DateRange";
772
+ readonly lower?: undefined;
773
+ readonly upper: {
774
+ readonly _tag: "LessThan";
775
+ readonly value: InstantExpr;
776
+ } | {
777
+ readonly _tag: "LessThanOrEqual";
778
+ readonly value: InstantExpr;
779
+ };
780
+ };
781
+ }[];
782
+ }, NaturalLanguageParseError | UnsupportedLocaleError, LanguageRegistry>;
783
+ declare const formatNatural: (range: {
784
+ readonly _tag: "DateRange";
785
+ readonly lower: {
786
+ readonly _tag: "GreaterThan";
787
+ readonly value: InstantExpr;
788
+ } | {
789
+ readonly _tag: "GreaterThanOrEqual";
790
+ readonly value: InstantExpr;
791
+ };
792
+ readonly upper: {
793
+ readonly _tag: "LessThan";
794
+ readonly value: InstantExpr;
795
+ } | {
796
+ readonly _tag: "LessThanOrEqual";
797
+ readonly value: InstantExpr;
798
+ };
799
+ } | {
800
+ readonly _tag: "DateRange";
801
+ readonly lower: {
802
+ readonly _tag: "GreaterThan";
803
+ readonly value: InstantExpr;
804
+ } | {
805
+ readonly _tag: "GreaterThanOrEqual";
806
+ readonly value: InstantExpr;
807
+ };
808
+ readonly upper?: undefined;
809
+ } | {
810
+ readonly _tag: "DateRange";
811
+ readonly lower?: undefined;
812
+ readonly upper: {
813
+ readonly _tag: "LessThan";
814
+ readonly value: InstantExpr;
815
+ } | {
816
+ readonly _tag: "LessThanOrEqual";
817
+ readonly value: InstantExpr;
818
+ };
819
+ }, options: FormatNaturalOptions) => Effect.Effect<string, NaturalLanguageRenderError | UnsupportedLocaleError, LanguageRegistry>;
820
+ //#endregion
821
+ //#region src/natural/correction.d.ts
822
+ declare const correctWhitespaceSeparatedText: (input: string, vocabulary: ReadonlyArray<string>) => {
823
+ readonly text: string;
824
+ readonly corrections: readonly {
825
+ readonly original: string;
826
+ readonly replacement: string;
827
+ readonly distance: number;
828
+ readonly offset: number;
829
+ }[];
830
+ readonly cost: number;
831
+ }[];
832
+ //#endregion
833
+ //#region src/natural/text.d.ts
834
+ declare const normalizeNaturalText: (input: string, locale: string) => string;
835
+ declare const naturalWords: (input: string) => string[];
836
+ //#endregion
837
+ //#region src/resolve/schema.d.ts
838
+ declare const ResolvedGreaterThan: Schema.TaggedStruct<"GreaterThan", {
839
+ readonly value: Schema.DateTimeZoned;
840
+ }>;
841
+ declare const ResolvedGreaterThanOrEqual: Schema.TaggedStruct<"GreaterThanOrEqual", {
842
+ readonly value: Schema.DateTimeZoned;
843
+ }>;
844
+ declare const ResolvedLessThan: Schema.TaggedStruct<"LessThan", {
845
+ readonly value: Schema.DateTimeZoned;
846
+ }>;
847
+ declare const ResolvedLessThanOrEqual: Schema.TaggedStruct<"LessThanOrEqual", {
848
+ readonly value: Schema.DateTimeZoned;
849
+ }>;
850
+ declare const ResolvedLowerBound: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
851
+ readonly value: Schema.DateTimeZoned;
852
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
853
+ readonly value: Schema.DateTimeZoned;
854
+ }>]>;
855
+ type ResolvedLowerBound = typeof ResolvedLowerBound.Type;
856
+ declare const ResolvedUpperBound: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
857
+ readonly value: Schema.DateTimeZoned;
858
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
859
+ readonly value: Schema.DateTimeZoned;
860
+ }>]>;
861
+ type ResolvedUpperBound = typeof ResolvedUpperBound.Type;
862
+ declare const ResolvedDateRange: Schema.Union<readonly [Schema.TaggedStruct<"ResolvedDateRange", {
863
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
864
+ readonly value: Schema.DateTimeZoned;
865
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
866
+ readonly value: Schema.DateTimeZoned;
867
+ }>]>;
868
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
869
+ readonly value: Schema.DateTimeZoned;
870
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
871
+ readonly value: Schema.DateTimeZoned;
872
+ }>]>;
873
+ }>, Schema.TaggedStruct<"ResolvedDateRange", {
874
+ readonly lower: Schema.Union<readonly [Schema.TaggedStruct<"GreaterThan", {
875
+ readonly value: Schema.DateTimeZoned;
876
+ }>, Schema.TaggedStruct<"GreaterThanOrEqual", {
877
+ readonly value: Schema.DateTimeZoned;
878
+ }>]>;
879
+ readonly upper: Schema.optionalKey<Schema.Never>;
880
+ }>, Schema.TaggedStruct<"ResolvedDateRange", {
881
+ readonly lower: Schema.optionalKey<Schema.Never>;
882
+ readonly upper: Schema.Union<readonly [Schema.TaggedStruct<"LessThan", {
883
+ readonly value: Schema.DateTimeZoned;
884
+ }>, Schema.TaggedStruct<"LessThanOrEqual", {
885
+ readonly value: Schema.DateTimeZoned;
886
+ }>]>;
887
+ }>]>;
888
+ type ResolvedDateRange = typeof ResolvedDateRange.Type;
889
+ declare const ResolutionError_base: Schema.Class<ResolutionError, Schema.TaggedStruct<"ResolutionError", {
890
+ readonly message: Schema.String;
891
+ }>, import("effect/Cause").YieldableError>;
892
+ declare class ResolutionError extends ResolutionError_base {}
893
+ //#endregion
894
+ //#region src/resolve/resolve.d.ts
895
+ declare const resolve: (range: {
896
+ readonly _tag: "DateRange";
897
+ readonly lower: {
898
+ readonly _tag: "GreaterThan";
899
+ readonly value: InstantExpr;
900
+ } | {
901
+ readonly _tag: "GreaterThanOrEqual";
902
+ readonly value: InstantExpr;
903
+ };
904
+ readonly upper: {
905
+ readonly _tag: "LessThan";
906
+ readonly value: InstantExpr;
907
+ } | {
908
+ readonly _tag: "LessThanOrEqual";
909
+ readonly value: InstantExpr;
910
+ };
911
+ } | {
912
+ readonly _tag: "DateRange";
913
+ readonly lower: {
914
+ readonly _tag: "GreaterThan";
915
+ readonly value: InstantExpr;
916
+ } | {
917
+ readonly _tag: "GreaterThanOrEqual";
918
+ readonly value: InstantExpr;
919
+ };
920
+ readonly upper?: undefined;
921
+ } | {
922
+ readonly _tag: "DateRange";
923
+ readonly lower?: undefined;
924
+ readonly upper: {
925
+ readonly _tag: "LessThan";
926
+ readonly value: InstantExpr;
927
+ } | {
928
+ readonly _tag: "LessThanOrEqual";
929
+ readonly value: InstantExpr;
930
+ };
931
+ }) => Effect.Effect<{
932
+ readonly _tag: "ResolvedDateRange";
933
+ readonly lower: {
934
+ readonly _tag: "GreaterThan";
935
+ readonly value: DateTime.Zoned;
936
+ } | {
937
+ readonly _tag: "GreaterThanOrEqual";
938
+ readonly value: DateTime.Zoned;
939
+ };
940
+ readonly upper: {
941
+ readonly _tag: "LessThan";
942
+ readonly value: DateTime.Zoned;
943
+ } | {
944
+ readonly _tag: "LessThanOrEqual";
945
+ readonly value: DateTime.Zoned;
946
+ };
947
+ } | {
948
+ readonly _tag: "ResolvedDateRange";
949
+ readonly lower: {
950
+ readonly _tag: "GreaterThan";
951
+ readonly value: DateTime.Zoned;
952
+ } | {
953
+ readonly _tag: "GreaterThanOrEqual";
954
+ readonly value: DateTime.Zoned;
955
+ };
956
+ readonly upper?: undefined;
957
+ } | {
958
+ readonly _tag: "ResolvedDateRange";
959
+ readonly lower?: undefined;
960
+ readonly upper: {
961
+ readonly _tag: "LessThan";
962
+ readonly value: DateTime.Zoned;
963
+ } | {
964
+ readonly _tag: "LessThanOrEqual";
965
+ readonly value: DateTime.Zoned;
966
+ };
967
+ }, ResolutionError, DateTime.CurrentTimeZone>;
968
+ //#endregion
969
+ export { AmbiguousNaturalLanguageError, BaseLanguageContribution, BaseLanguageMetadata, CompiledLanguage, Correction, DateExpressionString, DateFilter, DateLiteral, DateRangeExpr, DateRangeFromFilter, DefaultLanguageLayer, EnglishContribution, EnglishLanguage, EnglishLanguageLayer, FilterExpressionParseError, FormatNaturalOptions, GermanContribution, GermanLanguage, GermanLanguageLayer, GreaterThan, GreaterThanOrEqual, InstantAlgebra, InstantExpr, InstantExpressionFromString, InvalidDateFilterError, IsoDate, LanguageConflictError, LanguageContribution, LanguageContributionMetadata, LanguageExtensionContribution, LanguageExtensionMetadata, LanguagePlugin, LanguagePluginContext, LanguageRegistrationError, LanguageRegistry, LanguageRegistryLayer, LessThan, LessThanOrEqual, Locale, LowerBound, NaturalAlternative, NaturalCandidate, NaturalCorrectionCandidate, NaturalLanguageParseError, NaturalLanguageRenderError, NaturalParseResult, Now, ParseNaturalOptions, ParseQuality, ResolutionError, ResolvedDateRange, ResolvedGreaterThan, ResolvedGreaterThanOrEqual, ResolvedLessThan, ResolvedLessThanOrEqual, ResolvedLowerBound, ResolvedUpperBound, Shift, StartOf, Unit, UnsupportedLocaleError, UpperBound, boundedRange, canonicalBaseLocale, completePeriod, containsPositiveShift, correctWhitespaceSeparatedText, dateLiteral, daysInMonth, defineLanguagePlugin, foldInstant, formatFilter, formatInstantExpression, formatNatural, greaterThan, greaterThanOrEqual, isIsoDate, languagePluginsLayer, lessThan, lessThanOrEqual, lowerOpenRange, naturalWords, normalizeInstant, normalizeNaturalText, normalizeRange, now, parseFilter, parseInstantExpression, parseNatural, rangeKey, resolve, shift, startOf, upperOpenRange };