@expresscsv/sdk 0.1.11 → 0.1.13

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,3919 @@
1
+ declare interface BICOptions {
2
+ message?: string;
3
+ }
4
+
5
+ declare type BooleanControlType = 'toggle' | 'checkbox' | 'dropdown';
6
+
7
+ /**
8
+ * Color mode preference
9
+ */
10
+ export declare type ColorModePref = 'light' | 'dark' | 'system';
11
+
12
+ declare const Countries: readonly [{
13
+ readonly name: "Afghanistan";
14
+ readonly alpha2: "AF";
15
+ readonly alpha3: "AFG";
16
+ readonly aliases: readonly ["Afġānistān", "افغانستان"];
17
+ }, {
18
+ readonly name: "Åland Islands";
19
+ readonly alpha2: "AX";
20
+ readonly alpha3: "ALA";
21
+ readonly aliases: readonly ["Ahvenanmaa", "Åland"];
22
+ }, {
23
+ readonly name: "Albania";
24
+ readonly alpha2: "AL";
25
+ readonly alpha3: "ALB";
26
+ readonly aliases: readonly ["Shqipëri", "Shqipëria"];
27
+ }, {
28
+ readonly name: "Algeria";
29
+ readonly alpha2: "DZ";
30
+ readonly alpha3: "DZA";
31
+ readonly aliases: readonly ["الجزائر", "Algérie"];
32
+ }, {
33
+ readonly name: "American Samoa";
34
+ readonly alpha2: "AS";
35
+ readonly alpha3: "ASM";
36
+ readonly aliases: readonly ["Sāmoa Amelika", "Amelika Sāmoa"];
37
+ }, {
38
+ readonly name: "Andorra";
39
+ readonly alpha2: "AD";
40
+ readonly alpha3: "AND";
41
+ readonly aliases: readonly ["Principat d'Andorra"];
42
+ }, {
43
+ readonly name: "Angola";
44
+ readonly alpha2: "AO";
45
+ readonly alpha3: "AGO";
46
+ readonly aliases: readonly ["República de Angola"];
47
+ }, {
48
+ readonly name: "Anguilla";
49
+ readonly alpha2: "AI";
50
+ readonly alpha3: "AIA";
51
+ readonly aliases: readonly [];
52
+ }, {
53
+ readonly name: "Antigua and Barbuda";
54
+ readonly alpha2: "AG";
55
+ readonly alpha3: "ATG";
56
+ readonly aliases: readonly ["Antigua", "Barbuda"];
57
+ }, {
58
+ readonly name: "Argentina";
59
+ readonly alpha2: "AR";
60
+ readonly alpha3: "ARG";
61
+ readonly aliases: readonly ["República Argentina", "Argentine Republic"];
62
+ }, {
63
+ readonly name: "Armenia";
64
+ readonly alpha2: "AM";
65
+ readonly alpha3: "ARM";
66
+ readonly aliases: readonly ["Հայաստան", "Hayastan", "Republic of Armenia"];
67
+ }, {
68
+ readonly name: "Aruba";
69
+ readonly alpha2: "AW";
70
+ readonly alpha3: "ABW";
71
+ readonly aliases: readonly [];
72
+ }, {
73
+ readonly name: "Australia";
74
+ readonly alpha2: "AU";
75
+ readonly alpha3: "AUS";
76
+ readonly aliases: readonly ["Commonwealth of Australia", "Oz"];
77
+ }, {
78
+ readonly name: "Austria";
79
+ readonly alpha2: "AT";
80
+ readonly alpha3: "AUT";
81
+ readonly aliases: readonly ["Österreich"];
82
+ }, {
83
+ readonly name: "Azerbaijan";
84
+ readonly alpha2: "AZ";
85
+ readonly alpha3: "AZE";
86
+ readonly aliases: readonly ["Azərbaycan", "Republic of Azerbaijan"];
87
+ }, {
88
+ readonly name: "Bahamas";
89
+ readonly alpha2: "BS";
90
+ readonly alpha3: "BHS";
91
+ readonly aliases: readonly ["The Bahamas", "Commonwealth of The Bahamas"];
92
+ }, {
93
+ readonly name: "Bahrain";
94
+ readonly alpha2: "BH";
95
+ readonly alpha3: "BHR";
96
+ readonly aliases: readonly ["البحرين", "Kingdom of Bahrain"];
97
+ }, {
98
+ readonly name: "Bangladesh";
99
+ readonly alpha2: "BD";
100
+ readonly alpha3: "BGD";
101
+ readonly aliases: readonly ["বাংলাদেশ", "People's Republic of Bangladesh"];
102
+ }, {
103
+ readonly name: "Barbados";
104
+ readonly alpha2: "BB";
105
+ readonly alpha3: "BRB";
106
+ readonly aliases: readonly [];
107
+ }, {
108
+ readonly name: "Belarus";
109
+ readonly alpha2: "BY";
110
+ readonly alpha3: "BLR";
111
+ readonly aliases: readonly ["Беларусь", "Republic of Belarus", "Belorussia"];
112
+ }, {
113
+ readonly name: "Belgium";
114
+ readonly alpha2: "BE";
115
+ readonly alpha3: "BEL";
116
+ readonly aliases: readonly ["België", "Belgique", "Belgien"];
117
+ }, {
118
+ readonly name: "Belize";
119
+ readonly alpha2: "BZ";
120
+ readonly alpha3: "BLZ";
121
+ readonly aliases: readonly [];
122
+ }, {
123
+ readonly name: "Benin";
124
+ readonly alpha2: "BJ";
125
+ readonly alpha3: "BEN";
126
+ readonly aliases: readonly ["Republic of Benin", "République du Bénin"];
127
+ }, {
128
+ readonly name: "Bermuda";
129
+ readonly alpha2: "BM";
130
+ readonly alpha3: "BMU";
131
+ readonly aliases: readonly [];
132
+ }, {
133
+ readonly name: "Bhutan";
134
+ readonly alpha2: "BT";
135
+ readonly alpha3: "BTN";
136
+ readonly aliases: readonly ["འབྲུག་ཡུལ་", "Druk Yul", "Kingdom of Bhutan"];
137
+ }, {
138
+ readonly name: "Bolivia";
139
+ readonly alpha2: "BO";
140
+ readonly alpha3: "BOL";
141
+ readonly aliases: readonly ["Bolivia", "Estado Plurinacional de Bolivia"];
142
+ }, {
143
+ readonly name: "Bonaire, Sint Eustatius and Saba";
144
+ readonly alpha2: "BQ";
145
+ readonly alpha3: "BES";
146
+ readonly aliases: readonly ["Caribbean Netherlands"];
147
+ }, {
148
+ readonly name: "Bosnia and Herzegovina";
149
+ readonly alpha2: "BA";
150
+ readonly alpha3: "BIH";
151
+ readonly aliases: readonly ["Bosna i Hercegovina"];
152
+ }, {
153
+ readonly name: "Botswana";
154
+ readonly alpha2: "BW";
155
+ readonly alpha3: "BWA";
156
+ readonly aliases: readonly ["Republic of Botswana"];
157
+ }, {
158
+ readonly name: "Brazil";
159
+ readonly alpha2: "BR";
160
+ readonly alpha3: "BRA";
161
+ readonly aliases: readonly ["Brasil", "Federative Republic of Brazil"];
162
+ }, {
163
+ readonly name: "British Indian Ocean Territory";
164
+ readonly alpha2: "IO";
165
+ readonly alpha3: "IOT";
166
+ readonly aliases: readonly [];
167
+ }, {
168
+ readonly name: "Brunei Darussalam";
169
+ readonly alpha2: "BN";
170
+ readonly alpha3: "BRN";
171
+ readonly aliases: readonly ["Brunei"];
172
+ }, {
173
+ readonly name: "Bulgaria";
174
+ readonly alpha2: "BG";
175
+ readonly alpha3: "BGR";
176
+ readonly aliases: readonly ["България", "Republic of Bulgaria"];
177
+ }, {
178
+ readonly name: "Burkina Faso";
179
+ readonly alpha2: "BF";
180
+ readonly alpha3: "BFA";
181
+ readonly aliases: readonly ["Burkina"];
182
+ }, {
183
+ readonly name: "Burundi";
184
+ readonly alpha2: "BI";
185
+ readonly alpha3: "BDI";
186
+ readonly aliases: readonly ["Republic of Burundi", "Republika y'Uburundi"];
187
+ }, {
188
+ readonly name: "Cabo Verde";
189
+ readonly alpha2: "CV";
190
+ readonly alpha3: "CPV";
191
+ readonly aliases: readonly ["Cape Verde"];
192
+ }, {
193
+ readonly name: "Cambodia";
194
+ readonly alpha2: "KH";
195
+ readonly alpha3: "KHM";
196
+ readonly aliases: readonly ["កម្ពុជា", "Kingdom of Cambodia"];
197
+ }, {
198
+ readonly name: "Cameroon";
199
+ readonly alpha2: "CM";
200
+ readonly alpha3: "CMR";
201
+ readonly aliases: readonly ["Cameroun", "Republic of Cameroon"];
202
+ }, {
203
+ readonly name: "Canada";
204
+ readonly alpha2: "CA";
205
+ readonly alpha3: "CAN";
206
+ readonly aliases: readonly ["Kanada", "Canada (French)"];
207
+ }, {
208
+ readonly name: "Cayman Islands";
209
+ readonly alpha2: "KY";
210
+ readonly alpha3: "CYM";
211
+ readonly aliases: readonly [];
212
+ }, {
213
+ readonly name: "Central African Republic";
214
+ readonly alpha2: "CF";
215
+ readonly alpha3: "CAF";
216
+ readonly aliases: readonly ["République centrafricaine"];
217
+ }, {
218
+ readonly name: "Chad";
219
+ readonly alpha2: "TD";
220
+ readonly alpha3: "TCD";
221
+ readonly aliases: readonly ["Tchad", "جمهورية تشاد"];
222
+ }, {
223
+ readonly name: "Chile";
224
+ readonly alpha2: "CL";
225
+ readonly alpha3: "CHL";
226
+ readonly aliases: readonly ["República de Chile"];
227
+ }, {
228
+ readonly name: "China";
229
+ readonly alpha2: "CN";
230
+ readonly alpha3: "CHN";
231
+ readonly aliases: readonly ["中华人民共和国", "中国", "Zhōngguó", "People's Republic of China", "PRC"];
232
+ }, {
233
+ readonly name: "Christmas Island";
234
+ readonly alpha2: "CX";
235
+ readonly alpha3: "CXR";
236
+ readonly aliases: readonly [];
237
+ }, {
238
+ readonly name: "Cocos (Keeling) Islands";
239
+ readonly alpha2: "CC";
240
+ readonly alpha3: "CCK";
241
+ readonly aliases: readonly [];
242
+ }, {
243
+ readonly name: "Colombia";
244
+ readonly alpha2: "CO";
245
+ readonly alpha3: "COL";
246
+ readonly aliases: readonly ["República de Colombia"];
247
+ }, {
248
+ readonly name: "Comoros";
249
+ readonly alpha2: "KM";
250
+ readonly alpha3: "COM";
251
+ readonly aliases: readonly ["جزر القمر", "Union of the Comoros"];
252
+ }, {
253
+ readonly name: "Congo";
254
+ readonly alpha2: "CG";
255
+ readonly alpha3: "COG";
256
+ readonly aliases: readonly ["Republic of the Congo", "Congo-Brazzaville"];
257
+ }, {
258
+ readonly name: "Democratic Republic of the Congo";
259
+ readonly alpha2: "CD";
260
+ readonly alpha3: "COD";
261
+ readonly aliases: readonly ["Democratic Republic of the Congo", "Congo-Kinshasa", "DR Congo", "DRC"];
262
+ }, {
263
+ readonly name: "Cook Islands";
264
+ readonly alpha2: "CK";
265
+ readonly alpha3: "COK";
266
+ readonly aliases: readonly [];
267
+ }, {
268
+ readonly name: "Costa Rica";
269
+ readonly alpha2: "CR";
270
+ readonly alpha3: "CRI";
271
+ readonly aliases: readonly ["República de Costa Rica"];
272
+ }, {
273
+ readonly name: "Côte d'Ivoire";
274
+ readonly alpha2: "CI";
275
+ readonly alpha3: "CIV";
276
+ readonly aliases: readonly ["Ivory Coast", "République de Côte d'Ivoire"];
277
+ }, {
278
+ readonly name: "Croatia";
279
+ readonly alpha2: "HR";
280
+ readonly alpha3: "HRV";
281
+ readonly aliases: readonly ["Hrvatska", "Republic of Croatia"];
282
+ }, {
283
+ readonly name: "Cuba";
284
+ readonly alpha2: "CU";
285
+ readonly alpha3: "CUB";
286
+ readonly aliases: readonly ["República de Cuba"];
287
+ }, {
288
+ readonly name: "Curaçao";
289
+ readonly alpha2: "CW";
290
+ readonly alpha3: "CUW";
291
+ readonly aliases: readonly [];
292
+ }, {
293
+ readonly name: "Cyprus";
294
+ readonly alpha2: "CY";
295
+ readonly alpha3: "CYP";
296
+ readonly aliases: readonly ["Κύπρος", "Kıbrıs"];
297
+ }, {
298
+ readonly name: "Czechia";
299
+ readonly alpha2: "CZ";
300
+ readonly alpha3: "CZE";
301
+ readonly aliases: readonly ["Czech Republic", "Česko"];
302
+ }, {
303
+ readonly name: "Denmark";
304
+ readonly alpha2: "DK";
305
+ readonly alpha3: "DNK";
306
+ readonly aliases: readonly ["Danmark"];
307
+ }, {
308
+ readonly name: "Djibouti";
309
+ readonly alpha2: "DJ";
310
+ readonly alpha3: "DJI";
311
+ readonly aliases: readonly ["جيبوتي", "Djibouti City-State"];
312
+ }, {
313
+ readonly name: "Dominica";
314
+ readonly alpha2: "DM";
315
+ readonly alpha3: "DMA";
316
+ readonly aliases: readonly [];
317
+ }, {
318
+ readonly name: "Dominican Republic";
319
+ readonly alpha2: "DO";
320
+ readonly alpha3: "DOM";
321
+ readonly aliases: readonly ["República Dominicana"];
322
+ }, {
323
+ readonly name: "Ecuador";
324
+ readonly alpha2: "EC";
325
+ readonly alpha3: "ECU";
326
+ readonly aliases: readonly ["República del Ecuador"];
327
+ }, {
328
+ readonly name: "Egypt";
329
+ readonly alpha2: "EG";
330
+ readonly alpha3: "EGY";
331
+ readonly aliases: readonly ["مصر", "Arab Republic of Egypt"];
332
+ }, {
333
+ readonly name: "El Salvador";
334
+ readonly alpha2: "SV";
335
+ readonly alpha3: "SLV";
336
+ readonly aliases: readonly ["República de El Salvador"];
337
+ }, {
338
+ readonly name: "Equatorial Guinea";
339
+ readonly alpha2: "GQ";
340
+ readonly alpha3: "GNQ";
341
+ readonly aliases: readonly ["República de Guinea Ecuatorial", "République de Guinée équatoriale", "República da Guiné Equatorial"];
342
+ }, {
343
+ readonly name: "Eritrea";
344
+ readonly alpha2: "ER";
345
+ readonly alpha3: "ERI";
346
+ readonly aliases: readonly ["State of Eritrea", "ኤርትራ", "إريتريا"];
347
+ }, {
348
+ readonly name: "Estonia";
349
+ readonly alpha2: "EE";
350
+ readonly alpha3: "EST";
351
+ readonly aliases: readonly ["Eesti"];
352
+ }, {
353
+ readonly name: "Eswatini";
354
+ readonly alpha2: "SZ";
355
+ readonly alpha3: "SWZ";
356
+ readonly aliases: readonly ["Swaziland", "Kingdom of Eswatini"];
357
+ }, {
358
+ readonly name: "Ethiopia";
359
+ readonly alpha2: "ET";
360
+ readonly alpha3: "ETH";
361
+ readonly aliases: readonly ["ኢትዮጵያ", "Federal Democratic Republic of Ethiopia"];
362
+ }, {
363
+ readonly name: "Falkland Islands (Malvinas)";
364
+ readonly alpha2: "FK";
365
+ readonly alpha3: "FLK";
366
+ readonly aliases: readonly ["Islas Malvinas"];
367
+ }, {
368
+ readonly name: "Faroe Islands";
369
+ readonly alpha2: "FO";
370
+ readonly alpha3: "FRO";
371
+ readonly aliases: readonly ["Føroyar"];
372
+ }, {
373
+ readonly name: "Fiji";
374
+ readonly alpha2: "FJ";
375
+ readonly alpha3: "FJI";
376
+ readonly aliases: readonly ["Viti", "Fiji Islands"];
377
+ }, {
378
+ readonly name: "Finland";
379
+ readonly alpha2: "FI";
380
+ readonly alpha3: "FIN";
381
+ readonly aliases: readonly ["Suomi"];
382
+ }, {
383
+ readonly name: "France";
384
+ readonly alpha2: "FR";
385
+ readonly alpha3: "FRA";
386
+ readonly aliases: readonly ["République française"];
387
+ }, {
388
+ readonly name: "French Guiana";
389
+ readonly alpha2: "GF";
390
+ readonly alpha3: "GUF";
391
+ readonly aliases: readonly ["Guyane"];
392
+ }, {
393
+ readonly name: "French Polynesia";
394
+ readonly alpha2: "PF";
395
+ readonly alpha3: "PYF";
396
+ readonly aliases: readonly ["Polynésie française"];
397
+ }, {
398
+ readonly name: "Gabon";
399
+ readonly alpha2: "GA";
400
+ readonly alpha3: "GAB";
401
+ readonly aliases: readonly ["République gabonaise"];
402
+ }, {
403
+ readonly name: "Gambia";
404
+ readonly alpha2: "GM";
405
+ readonly alpha3: "GMB";
406
+ readonly aliases: readonly ["Republic of The Gambia"];
407
+ }, {
408
+ readonly name: "Georgia";
409
+ readonly alpha2: "GE";
410
+ readonly alpha3: "GEO";
411
+ readonly aliases: readonly ["საქართველო", "Sakartvelo"];
412
+ }, {
413
+ readonly name: "Germany";
414
+ readonly alpha2: "DE";
415
+ readonly alpha3: "DEU";
416
+ readonly aliases: readonly ["Deutschland", "Federal Republic of Germany"];
417
+ }, {
418
+ readonly name: "Ghana";
419
+ readonly alpha2: "GH";
420
+ readonly alpha3: "GHA";
421
+ readonly aliases: readonly ["Republic of Ghana"];
422
+ }, {
423
+ readonly name: "Gibraltar";
424
+ readonly alpha2: "GI";
425
+ readonly alpha3: "GIB";
426
+ readonly aliases: readonly [""];
427
+ }, {
428
+ readonly name: "Greece";
429
+ readonly alpha2: "GR";
430
+ readonly alpha3: "GRC";
431
+ readonly aliases: readonly ["Ελλάδα", "Hellas", "Hellenic Republic"];
432
+ }, {
433
+ readonly name: "Greenland";
434
+ readonly alpha2: "GL";
435
+ readonly alpha3: "GRL";
436
+ readonly aliases: readonly ["Kalaallit Nunaat"];
437
+ }, {
438
+ readonly name: "Grenada";
439
+ readonly alpha2: "GD";
440
+ readonly alpha3: "GRD";
441
+ readonly aliases: readonly [];
442
+ }, {
443
+ readonly name: "Guadeloupe";
444
+ readonly alpha2: "GP";
445
+ readonly alpha3: "GLP";
446
+ readonly aliases: readonly [];
447
+ }, {
448
+ readonly name: "Guam";
449
+ readonly alpha2: "GU";
450
+ readonly alpha3: "GUM";
451
+ readonly aliases: readonly ["Guåhån"];
452
+ }, {
453
+ readonly name: "Guatemala";
454
+ readonly alpha2: "GT";
455
+ readonly alpha3: "GTM";
456
+ readonly aliases: readonly ["República de Guatemala"];
457
+ }, {
458
+ readonly name: "Guernsey";
459
+ readonly alpha2: "GG";
460
+ readonly alpha3: "GGY";
461
+ readonly aliases: readonly [];
462
+ }, {
463
+ readonly name: "Guinea";
464
+ readonly alpha2: "GN";
465
+ readonly alpha3: "GIN";
466
+ readonly aliases: readonly ["République de Guinée"];
467
+ }, {
468
+ readonly name: "Guinea-Bissau";
469
+ readonly alpha2: "GW";
470
+ readonly alpha3: "GNB";
471
+ readonly aliases: readonly ["República da Guiné-Bissau"];
472
+ }, {
473
+ readonly name: "Guyana";
474
+ readonly alpha2: "GY";
475
+ readonly alpha3: "GUY";
476
+ readonly aliases: readonly ["Co-operative Republic of Guyana"];
477
+ }, {
478
+ readonly name: "Haiti";
479
+ readonly alpha2: "HT";
480
+ readonly alpha3: "HTI";
481
+ readonly aliases: readonly ["République d'Haïti", "Repiblik d Ayiti"];
482
+ }, {
483
+ readonly name: "Holy See";
484
+ readonly alpha2: "VA";
485
+ readonly alpha3: "VAT";
486
+ readonly aliases: readonly ["Vatican City", "Vatican City State", "Santa Sede"];
487
+ }, {
488
+ readonly name: "Honduras";
489
+ readonly alpha2: "HN";
490
+ readonly alpha3: "HND";
491
+ readonly aliases: readonly ["República de Honduras"];
492
+ }, {
493
+ readonly name: "Hong Kong";
494
+ readonly alpha2: "HK";
495
+ readonly alpha3: "HKG";
496
+ readonly aliases: readonly ["香港", "Xianggang", "Hong Kong SAR"];
497
+ }, {
498
+ readonly name: "Hungary";
499
+ readonly alpha2: "HU";
500
+ readonly alpha3: "HUN";
501
+ readonly aliases: readonly ["Magyarország"];
502
+ }, {
503
+ readonly name: "Iceland";
504
+ readonly alpha2: "IS";
505
+ readonly alpha3: "ISL";
506
+ readonly aliases: readonly ["Ísland"];
507
+ }, {
508
+ readonly name: "India";
509
+ readonly alpha2: "IN";
510
+ readonly alpha3: "IND";
511
+ readonly aliases: readonly ["भारत", "Republic of India", "Bharat"];
512
+ }, {
513
+ readonly name: "Indonesia";
514
+ readonly alpha2: "ID";
515
+ readonly alpha3: "IDN";
516
+ readonly aliases: readonly ["Republik Indonesia"];
517
+ }, {
518
+ readonly name: "Iran, Islamic Republic of";
519
+ readonly alpha2: "IR";
520
+ readonly alpha3: "IRN";
521
+ readonly aliases: readonly ["ایران", "Islamic Republic of Iran"];
522
+ }, {
523
+ readonly name: "Iraq";
524
+ readonly alpha2: "IQ";
525
+ readonly alpha3: "IRQ";
526
+ readonly aliases: readonly ["العراق", "Republic of Iraq"];
527
+ }, {
528
+ readonly name: "Ireland";
529
+ readonly alpha2: "IE";
530
+ readonly alpha3: "IRL";
531
+ readonly aliases: readonly ["Éire", "Republic of Ireland"];
532
+ }, {
533
+ readonly name: "Isle of Man";
534
+ readonly alpha2: "IM";
535
+ readonly alpha3: "IMN";
536
+ readonly aliases: readonly ["Mann", "Ellan Vannin"];
537
+ }, {
538
+ readonly name: "Israel";
539
+ readonly alpha2: "IL";
540
+ readonly alpha3: "ISR";
541
+ readonly aliases: readonly ["יִשְׂרָאֵל", "State of Israel", "Medīnat Yisrā'el"];
542
+ }, {
543
+ readonly name: "Italy";
544
+ readonly alpha2: "IT";
545
+ readonly alpha3: "ITA";
546
+ readonly aliases: readonly ["Italia", "Repubblica Italiana"];
547
+ }, {
548
+ readonly name: "Jamaica";
549
+ readonly alpha2: "JM";
550
+ readonly alpha3: "JAM";
551
+ readonly aliases: readonly [];
552
+ }, {
553
+ readonly name: "Japan";
554
+ readonly alpha2: "JP";
555
+ readonly alpha3: "JPN";
556
+ readonly aliases: readonly ["日本", "Nihon", "Nippon"];
557
+ }, {
558
+ readonly name: "Jersey";
559
+ readonly alpha2: "JE";
560
+ readonly alpha3: "JEY";
561
+ readonly aliases: readonly [];
562
+ }, {
563
+ readonly name: "Jordan";
564
+ readonly alpha2: "JO";
565
+ readonly alpha3: "JOR";
566
+ readonly aliases: readonly ["الأردن", "Hashemite Kingdom of Jordan"];
567
+ }, {
568
+ readonly name: "Kazakhstan";
569
+ readonly alpha2: "KZ";
570
+ readonly alpha3: "KAZ";
571
+ readonly aliases: readonly ["Қазақстан", "Republic of Kazakhstan"];
572
+ }, {
573
+ readonly name: "Kenya";
574
+ readonly alpha2: "KE";
575
+ readonly alpha3: "KEN";
576
+ readonly aliases: readonly ["Republic of Kenya"];
577
+ }, {
578
+ readonly name: "Kiribati";
579
+ readonly alpha2: "KI";
580
+ readonly alpha3: "KIR";
581
+ readonly aliases: readonly [];
582
+ }, {
583
+ readonly name: "North Korea";
584
+ readonly alpha2: "KP";
585
+ readonly alpha3: "PRK";
586
+ readonly aliases: readonly ["North Korea", "조선민주주의인민공화국", "Democratic People's Republic of Korea"];
587
+ }, {
588
+ readonly name: "South Korea";
589
+ readonly alpha2: "KR";
590
+ readonly alpha3: "KOR";
591
+ readonly aliases: readonly ["South Korea", "대한민국", "Republic of Korea"];
592
+ }, {
593
+ readonly name: "Kosovo";
594
+ readonly alpha2: "XK";
595
+ readonly alpha3: "XKS";
596
+ readonly aliases: readonly ["Kosova", "Косово", "Republic of Kosovo", "Republika e Kosovës"];
597
+ }, {
598
+ readonly name: "Kuwait";
599
+ readonly alpha2: "KW";
600
+ readonly alpha3: "KWT";
601
+ readonly aliases: readonly ["الكويت", "State of Kuwait"];
602
+ }, {
603
+ readonly name: "Kyrgyzstan";
604
+ readonly alpha2: "KG";
605
+ readonly alpha3: "KGZ";
606
+ readonly aliases: readonly ["Кыргызстан", "Kyrgyz Republic"];
607
+ }, {
608
+ readonly name: "Lao People's Democratic Republic";
609
+ readonly alpha2: "LA";
610
+ readonly alpha3: "LAO";
611
+ readonly aliases: readonly ["Laos", "ສປປລາວ"];
612
+ }, {
613
+ readonly name: "Latvia";
614
+ readonly alpha2: "LV";
615
+ readonly alpha3: "LVA";
616
+ readonly aliases: readonly ["Latvija"];
617
+ }, {
618
+ readonly name: "Lebanon";
619
+ readonly alpha2: "LB";
620
+ readonly alpha3: "LBN";
621
+ readonly aliases: readonly ["لبنان", "Republic of Lebanon"];
622
+ }, {
623
+ readonly name: "Lesotho";
624
+ readonly alpha2: "LS";
625
+ readonly alpha3: "LSO";
626
+ readonly aliases: readonly ["Kingdom of Lesotho"];
627
+ }, {
628
+ readonly name: "Liberia";
629
+ readonly alpha2: "LR";
630
+ readonly alpha3: "LBR";
631
+ readonly aliases: readonly ["Republic of Liberia"];
632
+ }, {
633
+ readonly name: "Libya";
634
+ readonly alpha2: "LY";
635
+ readonly alpha3: "LBY";
636
+ readonly aliases: readonly ["Libyan Arab Jamahiriya"];
637
+ }, {
638
+ readonly name: "Liechtenstein";
639
+ readonly alpha2: "LI";
640
+ readonly alpha3: "LIE";
641
+ readonly aliases: readonly ["Fürstentum Liechtenstein"];
642
+ }, {
643
+ readonly name: "Lithuania";
644
+ readonly alpha2: "LT";
645
+ readonly alpha3: "LTU";
646
+ readonly aliases: readonly ["Lietuva", "Republic of Lithuania"];
647
+ }, {
648
+ readonly name: "Luxembourg";
649
+ readonly alpha2: "LU";
650
+ readonly alpha3: "LUX";
651
+ readonly aliases: readonly ["Lëtzebuerg", "Luxembourg", "Luxemburg"];
652
+ }, {
653
+ readonly name: "Macao";
654
+ readonly alpha2: "MO";
655
+ readonly alpha3: "MAC";
656
+ readonly aliases: readonly ["澳門", "Macao SAR", "Àomén"];
657
+ }, {
658
+ readonly name: "Madagascar";
659
+ readonly alpha2: "MG";
660
+ readonly alpha3: "MDG";
661
+ readonly aliases: readonly ["Repoblikan'i Madagasikara", "République de Madagascar"];
662
+ }, {
663
+ readonly name: "Malawi";
664
+ readonly alpha2: "MW";
665
+ readonly alpha3: "MWI";
666
+ readonly aliases: readonly ["Republic of Malawi"];
667
+ }, {
668
+ readonly name: "Malaysia";
669
+ readonly alpha2: "MY";
670
+ readonly alpha3: "MYS";
671
+ readonly aliases: readonly ["Malaysia", "ماليزيا"];
672
+ }, {
673
+ readonly name: "Maldives";
674
+ readonly alpha2: "MV";
675
+ readonly alpha3: "MDV";
676
+ readonly aliases: readonly ["ދިވެހިރާއްޖޭގެ", "Dhivehi Raajje", "Republic of Maldives"];
677
+ }, {
678
+ readonly name: "Mali";
679
+ readonly alpha2: "ML";
680
+ readonly alpha3: "MLI";
681
+ readonly aliases: readonly ["République du Mali"];
682
+ }, {
683
+ readonly name: "Malta";
684
+ readonly alpha2: "MT";
685
+ readonly alpha3: "MLT";
686
+ readonly aliases: readonly ["Repubblika ta' Malta", "Republic of Malta"];
687
+ }, {
688
+ readonly name: "Marshall Islands";
689
+ readonly alpha2: "MH";
690
+ readonly alpha3: "MHL";
691
+ readonly aliases: readonly ["Aolepān Aorōkin M̧ajeļ", "Republic of the Marshall Islands"];
692
+ }, {
693
+ readonly name: "Martinique";
694
+ readonly alpha2: "MQ";
695
+ readonly alpha3: "MTQ";
696
+ readonly aliases: readonly [];
697
+ }, {
698
+ readonly name: "Mauritania";
699
+ readonly alpha2: "MR";
700
+ readonly alpha3: "MRT";
701
+ readonly aliases: readonly ["موريتانيا", "Islamic Republic of Mauritania"];
702
+ }, {
703
+ readonly name: "Mauritius";
704
+ readonly alpha2: "MU";
705
+ readonly alpha3: "MUS";
706
+ readonly aliases: readonly ["Republic of Mauritius", "République de Maurice"];
707
+ }, {
708
+ readonly name: "Mayotte";
709
+ readonly alpha2: "YT";
710
+ readonly alpha3: "MYT";
711
+ readonly aliases: readonly [];
712
+ }, {
713
+ readonly name: "Mexico";
714
+ readonly alpha2: "MX";
715
+ readonly alpha3: "MEX";
716
+ readonly aliases: readonly ["México", "Estados Unidos Mexicanos"];
717
+ }, {
718
+ readonly name: "Micronesia, Federated States of";
719
+ readonly alpha2: "FM";
720
+ readonly alpha3: "FSM";
721
+ readonly aliases: readonly ["Micronesia", "Federated States of Micronesia"];
722
+ }, {
723
+ readonly name: "Moldova";
724
+ readonly alpha2: "MD";
725
+ readonly alpha3: "MDA";
726
+ readonly aliases: readonly ["Moldova", "Republica Moldova"];
727
+ }, {
728
+ readonly name: "Monaco";
729
+ readonly alpha2: "MC";
730
+ readonly alpha3: "MCO";
731
+ readonly aliases: readonly ["Principauté de Monaco"];
732
+ }, {
733
+ readonly name: "Mongolia";
734
+ readonly alpha2: "MN";
735
+ readonly alpha3: "MNG";
736
+ readonly aliases: readonly ["Монгол улс", "Mongol Uls"];
737
+ }, {
738
+ readonly name: "Montenegro";
739
+ readonly alpha2: "ME";
740
+ readonly alpha3: "MNE";
741
+ readonly aliases: readonly ["Црна Гора", "Crna Gora"];
742
+ }, {
743
+ readonly name: "Montserrat";
744
+ readonly alpha2: "MS";
745
+ readonly alpha3: "MSR";
746
+ readonly aliases: readonly [];
747
+ }, {
748
+ readonly name: "Morocco";
749
+ readonly alpha2: "MA";
750
+ readonly alpha3: "MAR";
751
+ readonly aliases: readonly ["المغرب", "Maroc", "Kingdom of Morocco"];
752
+ }, {
753
+ readonly name: "Mozambique";
754
+ readonly alpha2: "MZ";
755
+ readonly alpha3: "MOZ";
756
+ readonly aliases: readonly ["Moçambique", "Republic of Mozambique"];
757
+ }, {
758
+ readonly name: "Myanmar";
759
+ readonly alpha2: "MM";
760
+ readonly alpha3: "MMR";
761
+ readonly aliases: readonly ["Burma", "မြန်မာ", "Myanma"];
762
+ }, {
763
+ readonly name: "Namibia";
764
+ readonly alpha2: "NA";
765
+ readonly alpha3: "NAM";
766
+ readonly aliases: readonly ["Republic of Namibia"];
767
+ }, {
768
+ readonly name: "Nauru";
769
+ readonly alpha2: "NR";
770
+ readonly alpha3: "NRU";
771
+ readonly aliases: readonly ["Naoero", "Republic of Nauru"];
772
+ }, {
773
+ readonly name: "Nepal";
774
+ readonly alpha2: "NP";
775
+ readonly alpha3: "NPL";
776
+ readonly aliases: readonly ["नेपाल", "Federal Democratic Republic of Nepal"];
777
+ }, {
778
+ readonly name: "Netherlands";
779
+ readonly alpha2: "NL";
780
+ readonly alpha3: "NLD";
781
+ readonly aliases: readonly ["Nederland", "Holland", "Kingdom of the Netherlands"];
782
+ }, {
783
+ readonly name: "New Caledonia";
784
+ readonly alpha2: "NC";
785
+ readonly alpha3: "NCL";
786
+ readonly aliases: readonly ["Nouvelle-Calédonie"];
787
+ }, {
788
+ readonly name: "New Zealand";
789
+ readonly alpha2: "NZ";
790
+ readonly alpha3: "NZL";
791
+ readonly aliases: readonly ["Aotearoa"];
792
+ }, {
793
+ readonly name: "Nicaragua";
794
+ readonly alpha2: "NI";
795
+ readonly alpha3: "NIC";
796
+ readonly aliases: readonly ["República de Nicaragua"];
797
+ }, {
798
+ readonly name: "Niger";
799
+ readonly alpha2: "NE";
800
+ readonly alpha3: "NER";
801
+ readonly aliases: readonly ["République du Niger"];
802
+ }, {
803
+ readonly name: "Nigeria";
804
+ readonly alpha2: "NG";
805
+ readonly alpha3: "NGA";
806
+ readonly aliases: readonly ["Federal Republic of Nigeria"];
807
+ }, {
808
+ readonly name: "Niue";
809
+ readonly alpha2: "NU";
810
+ readonly alpha3: "NIU";
811
+ readonly aliases: readonly [];
812
+ }, {
813
+ readonly name: "Norfolk Island";
814
+ readonly alpha2: "NF";
815
+ readonly alpha3: "NFK";
816
+ readonly aliases: readonly [];
817
+ }, {
818
+ readonly name: "North Macedonia";
819
+ readonly alpha2: "MK";
820
+ readonly alpha3: "MKD";
821
+ readonly aliases: readonly ["Republic of North Macedonia", "Северна Македонија"];
822
+ }, {
823
+ readonly name: "Northern Mariana Islands";
824
+ readonly alpha2: "MP";
825
+ readonly alpha3: "MNP";
826
+ readonly aliases: readonly ["Saipan", "Commonwealth of the Northern Mariana Islands"];
827
+ }, {
828
+ readonly name: "Norway";
829
+ readonly alpha2: "NO";
830
+ readonly alpha3: "NOR";
831
+ readonly aliases: readonly ["Norge", "Noreg", "Norrige"];
832
+ }, {
833
+ readonly name: "Oman";
834
+ readonly alpha2: "OM";
835
+ readonly alpha3: "OMN";
836
+ readonly aliases: readonly ["عمان", "Sultanate of Oman"];
837
+ }, {
838
+ readonly name: "Pakistan";
839
+ readonly alpha2: "PK";
840
+ readonly alpha3: "PAK";
841
+ readonly aliases: readonly ["پاکستان", "Islamic Republic of Pakistan"];
842
+ }, {
843
+ readonly name: "Palau";
844
+ readonly alpha2: "PW";
845
+ readonly alpha3: "PLW";
846
+ readonly aliases: readonly ["Beluu er a Belau", "Republic of Palau"];
847
+ }, {
848
+ readonly name: "Palestine";
849
+ readonly alpha2: "PS";
850
+ readonly alpha3: "PSE";
851
+ readonly aliases: readonly ["فلسطين", "State of Palestine"];
852
+ }, {
853
+ readonly name: "Panama";
854
+ readonly alpha2: "PA";
855
+ readonly alpha3: "PAN";
856
+ readonly aliases: readonly ["República de Panamá"];
857
+ }, {
858
+ readonly name: "Papua New Guinea";
859
+ readonly alpha2: "PG";
860
+ readonly alpha3: "PNG";
861
+ readonly aliases: readonly ["Papua Niugini"];
862
+ }, {
863
+ readonly name: "Paraguay";
864
+ readonly alpha2: "PY";
865
+ readonly alpha3: "PRY";
866
+ readonly aliases: readonly ["República del Paraguay"];
867
+ }, {
868
+ readonly name: "Peru";
869
+ readonly alpha2: "PE";
870
+ readonly alpha3: "PER";
871
+ readonly aliases: readonly ["República del Perú"];
872
+ }, {
873
+ readonly name: "Philippines";
874
+ readonly alpha2: "PH";
875
+ readonly alpha3: "PHL";
876
+ readonly aliases: readonly ["Pilipinas", "Republika ng Pilipinas"];
877
+ }, {
878
+ readonly name: "Poland";
879
+ readonly alpha2: "PL";
880
+ readonly alpha3: "POL";
881
+ readonly aliases: readonly ["Polska", "Republic of Poland"];
882
+ }, {
883
+ readonly name: "Portugal";
884
+ readonly alpha2: "PT";
885
+ readonly alpha3: "PRT";
886
+ readonly aliases: readonly ["República Portuguesa"];
887
+ }, {
888
+ readonly name: "Puerto Rico";
889
+ readonly alpha2: "PR";
890
+ readonly alpha3: "PRI";
891
+ readonly aliases: readonly [];
892
+ }, {
893
+ readonly name: "Qatar";
894
+ readonly alpha2: "QA";
895
+ readonly alpha3: "QAT";
896
+ readonly aliases: readonly ["قطر", "State of Qatar"];
897
+ }, {
898
+ readonly name: "Réunion";
899
+ readonly alpha2: "RE";
900
+ readonly alpha3: "REU";
901
+ readonly aliases: readonly [];
902
+ }, {
903
+ readonly name: "Romania";
904
+ readonly alpha2: "RO";
905
+ readonly alpha3: "ROU";
906
+ readonly aliases: readonly ["România"];
907
+ }, {
908
+ readonly name: "Russian Federation";
909
+ readonly alpha2: "RU";
910
+ readonly alpha3: "RUS";
911
+ readonly aliases: readonly ["Russia", "Российская Федерация"];
912
+ }, {
913
+ readonly name: "Rwanda";
914
+ readonly alpha2: "RW";
915
+ readonly alpha3: "RWA";
916
+ readonly aliases: readonly ["Repubulika y'u Rwanda", "République du Rwanda"];
917
+ }, {
918
+ readonly name: "Saint Barthélemy";
919
+ readonly alpha2: "BL";
920
+ readonly alpha3: "BLM";
921
+ readonly aliases: readonly ["Saint-Barthélemy"];
922
+ }, {
923
+ readonly name: "Saint Helena, Ascension and Tristan da Cunha";
924
+ readonly alpha2: "SH";
925
+ readonly alpha3: "SHN";
926
+ readonly aliases: readonly [];
927
+ }, {
928
+ readonly name: "Saint Kitts and Nevis";
929
+ readonly alpha2: "KN";
930
+ readonly alpha3: "KNA";
931
+ readonly aliases: readonly [];
932
+ }, {
933
+ readonly name: "Saint Lucia";
934
+ readonly alpha2: "LC";
935
+ readonly alpha3: "LCA";
936
+ readonly aliases: readonly [];
937
+ }, {
938
+ readonly name: "Saint Martin (French part)";
939
+ readonly alpha2: "MF";
940
+ readonly alpha3: "MAF";
941
+ readonly aliases: readonly [];
942
+ }, {
943
+ readonly name: "Saint Pierre and Miquelon";
944
+ readonly alpha2: "PM";
945
+ readonly alpha3: "SPM";
946
+ readonly aliases: readonly [];
947
+ }, {
948
+ readonly name: "Saint Vincent and the Grenadines";
949
+ readonly alpha2: "VC";
950
+ readonly alpha3: "VCT";
951
+ readonly aliases: readonly [];
952
+ }, {
953
+ readonly name: "Samoa";
954
+ readonly alpha2: "WS";
955
+ readonly alpha3: "WSM";
956
+ readonly aliases: readonly ["Sāmoa", "Independent State of Samoa"];
957
+ }, {
958
+ readonly name: "San Marino";
959
+ readonly alpha2: "SM";
960
+ readonly alpha3: "SMR";
961
+ readonly aliases: readonly ["Serenissima Repubblica di San Marino"];
962
+ }, {
963
+ readonly name: "Sao Tome and Principe";
964
+ readonly alpha2: "ST";
965
+ readonly alpha3: "STP";
966
+ readonly aliases: readonly ["São Tomé e Príncipe"];
967
+ }, {
968
+ readonly name: "Saudi Arabia";
969
+ readonly alpha2: "SA";
970
+ readonly alpha3: "SAU";
971
+ readonly aliases: readonly ["المملكة العربية السعودية", "Kingdom of Saudi Arabia", "KSA"];
972
+ }, {
973
+ readonly name: "Senegal";
974
+ readonly alpha2: "SN";
975
+ readonly alpha3: "SEN";
976
+ readonly aliases: readonly ["République du Sénégal"];
977
+ }, {
978
+ readonly name: "Serbia";
979
+ readonly alpha2: "RS";
980
+ readonly alpha3: "SRB";
981
+ readonly aliases: readonly ["Србија", "Srbija", "Republic of Serbia"];
982
+ }, {
983
+ readonly name: "Seychelles";
984
+ readonly alpha2: "SC";
985
+ readonly alpha3: "SYC";
986
+ readonly aliases: readonly ["Repiblik Sesel", "République des Seychelles"];
987
+ }, {
988
+ readonly name: "Sierra Leone";
989
+ readonly alpha2: "SL";
990
+ readonly alpha3: "SLE";
991
+ readonly aliases: readonly ["Republic of Sierra Leone"];
992
+ }, {
993
+ readonly name: "Singapore";
994
+ readonly alpha2: "SG";
995
+ readonly alpha3: "SGP";
996
+ readonly aliases: readonly ["新加坡", "Singapura", "Republic of Singapore"];
997
+ }, {
998
+ readonly name: "Sint Maarten (Dutch part)";
999
+ readonly alpha2: "SX";
1000
+ readonly alpha3: "SXM";
1001
+ readonly aliases: readonly [];
1002
+ }, {
1003
+ readonly name: "Slovakia";
1004
+ readonly alpha2: "SK";
1005
+ readonly alpha3: "SVK";
1006
+ readonly aliases: readonly ["Slovensko", "Slovak Republic"];
1007
+ }, {
1008
+ readonly name: "Slovenia";
1009
+ readonly alpha2: "SI";
1010
+ readonly alpha3: "SVN";
1011
+ readonly aliases: readonly ["Slovenija"];
1012
+ }, {
1013
+ readonly name: "Solomon Islands";
1014
+ readonly alpha2: "SB";
1015
+ readonly alpha3: "SLB";
1016
+ readonly aliases: readonly [];
1017
+ }, {
1018
+ readonly name: "Somalia";
1019
+ readonly alpha2: "SO";
1020
+ readonly alpha3: "SOM";
1021
+ readonly aliases: readonly ["Soomaaliya", "جمهورية الصومال", "Federal Republic of Somalia"];
1022
+ }, {
1023
+ readonly name: "South Africa";
1024
+ readonly alpha2: "ZA";
1025
+ readonly alpha3: "ZAF";
1026
+ readonly aliases: readonly ["RSA", "Republic of South Africa"];
1027
+ }, {
1028
+ readonly name: "South Sudan";
1029
+ readonly alpha2: "SS";
1030
+ readonly alpha3: "SSD";
1031
+ readonly aliases: readonly ["Republic of South Sudan"];
1032
+ }, {
1033
+ readonly name: "Spain";
1034
+ readonly alpha2: "ES";
1035
+ readonly alpha3: "ESP";
1036
+ readonly aliases: readonly ["España", "Reino de España"];
1037
+ }, {
1038
+ readonly name: "Sri Lanka";
1039
+ readonly alpha2: "LK";
1040
+ readonly alpha3: "LKA";
1041
+ readonly aliases: readonly ["ශ්‍රී ලංකාව", "இலங்கை", "Democratic Socialist Republic of Sri Lanka"];
1042
+ }, {
1043
+ readonly name: "Sudan";
1044
+ readonly alpha2: "SD";
1045
+ readonly alpha3: "SDN";
1046
+ readonly aliases: readonly ["السودان", "Republic of the Sudan"];
1047
+ }, {
1048
+ readonly name: "Suriname";
1049
+ readonly alpha2: "SR";
1050
+ readonly alpha3: "SUR";
1051
+ readonly aliases: readonly ["Republiek Suriname"];
1052
+ }, {
1053
+ readonly name: "Svalbard and Jan Mayen";
1054
+ readonly alpha2: "SJ";
1055
+ readonly alpha3: "SJM";
1056
+ readonly aliases: readonly [];
1057
+ }, {
1058
+ readonly name: "Sweden";
1059
+ readonly alpha2: "SE";
1060
+ readonly alpha3: "SWE";
1061
+ readonly aliases: readonly ["Sverige", "Kingdom of Sweden"];
1062
+ }, {
1063
+ readonly name: "Switzerland";
1064
+ readonly alpha2: "CH";
1065
+ readonly alpha3: "CHE";
1066
+ readonly aliases: readonly ["Schweiz", "Suisse", "Svizzera", "Svizra", "Swiss Confederation"];
1067
+ }, {
1068
+ readonly name: "Syrian Arab Republic";
1069
+ readonly alpha2: "SY";
1070
+ readonly alpha3: "SYR";
1071
+ readonly aliases: readonly ["سوريا", "Syria"];
1072
+ }, {
1073
+ readonly name: "Taiwan, Province of China";
1074
+ readonly alpha2: "TW";
1075
+ readonly alpha3: "TWN";
1076
+ readonly aliases: readonly ["台灣", "臺灣", "Taiwan", "Republic of China", "ROC"];
1077
+ }, {
1078
+ readonly name: "Tajikistan";
1079
+ readonly alpha2: "TJ";
1080
+ readonly alpha3: "TJK";
1081
+ readonly aliases: readonly ["Тоҷикистон", "Republic of Tajikistan"];
1082
+ }, {
1083
+ readonly name: "Tanzania, United Republic of";
1084
+ readonly alpha2: "TZ";
1085
+ readonly alpha3: "TZA";
1086
+ readonly aliases: readonly ["Tanzania", "Jamhuri ya Muungano wa Tanzania"];
1087
+ }, {
1088
+ readonly name: "Thailand";
1089
+ readonly alpha2: "TH";
1090
+ readonly alpha3: "THA";
1091
+ readonly aliases: readonly ["ประเทศไทย", "Prathet Thai", "Kingdom of Thailand"];
1092
+ }, {
1093
+ readonly name: "Timor-Leste";
1094
+ readonly alpha2: "TL";
1095
+ readonly alpha3: "TLS";
1096
+ readonly aliases: readonly ["East Timor", "República Democrática de Timor-Leste"];
1097
+ }, {
1098
+ readonly name: "Togo";
1099
+ readonly alpha2: "TG";
1100
+ readonly alpha3: "TGO";
1101
+ readonly aliases: readonly ["République Togolaise"];
1102
+ }, {
1103
+ readonly name: "Tokelau";
1104
+ readonly alpha2: "TK";
1105
+ readonly alpha3: "TKL";
1106
+ readonly aliases: readonly [];
1107
+ }, {
1108
+ readonly name: "Tonga";
1109
+ readonly alpha2: "TO";
1110
+ readonly alpha3: "TON";
1111
+ readonly aliases: readonly ["Puleʻanga Fakatuʻi ʻo Tonga", "Kingdom of Tonga"];
1112
+ }, {
1113
+ readonly name: "Trinidad and Tobago";
1114
+ readonly alpha2: "TT";
1115
+ readonly alpha3: "TTO";
1116
+ readonly aliases: readonly [];
1117
+ }, {
1118
+ readonly name: "Tunisia";
1119
+ readonly alpha2: "TN";
1120
+ readonly alpha3: "TUN";
1121
+ readonly aliases: readonly ["تونس", "Republic of Tunisia"];
1122
+ }, {
1123
+ readonly name: "Türkiye";
1124
+ readonly alpha2: "TR";
1125
+ readonly alpha3: "TUR";
1126
+ readonly aliases: readonly ["Turkey", "Türkiye Cumhuriyeti", "Republic of Türkiye"];
1127
+ }, {
1128
+ readonly name: "Turkmenistan";
1129
+ readonly alpha2: "TM";
1130
+ readonly alpha3: "TKM";
1131
+ readonly aliases: readonly ["Türkmenistan"];
1132
+ }, {
1133
+ readonly name: "Turks and Caicos Islands";
1134
+ readonly alpha2: "TC";
1135
+ readonly alpha3: "TCA";
1136
+ readonly aliases: readonly [];
1137
+ }, {
1138
+ readonly name: "Tuvalu";
1139
+ readonly alpha2: "TV";
1140
+ readonly alpha3: "TUV";
1141
+ readonly aliases: readonly [];
1142
+ }, {
1143
+ readonly name: "Uganda";
1144
+ readonly alpha2: "UG";
1145
+ readonly alpha3: "UGA";
1146
+ readonly aliases: readonly ["Republic of Uganda"];
1147
+ }, {
1148
+ readonly name: "Ukraine";
1149
+ readonly alpha2: "UA";
1150
+ readonly alpha3: "UKR";
1151
+ readonly aliases: readonly ["Україна"];
1152
+ }, {
1153
+ readonly name: "United Arab Emirates";
1154
+ readonly alpha2: "AE";
1155
+ readonly alpha3: "ARE";
1156
+ readonly aliases: readonly ["الإمارات العربية المتحدة", "UAE"];
1157
+ }, {
1158
+ readonly name: "United Kingdom";
1159
+ readonly alpha2: "GB";
1160
+ readonly alpha3: "GBR";
1161
+ readonly aliases: readonly ["United Kingdom", "UK", "Britain", "Great Britain"];
1162
+ }, {
1163
+ readonly name: "United States of America";
1164
+ readonly alpha2: "US";
1165
+ readonly alpha3: "USA";
1166
+ readonly aliases: readonly ["United States", "USA", "America", "US"];
1167
+ }, {
1168
+ readonly name: "Uruguay";
1169
+ readonly alpha2: "UY";
1170
+ readonly alpha3: "URY";
1171
+ readonly aliases: readonly ["República Oriental del Uruguay"];
1172
+ }, {
1173
+ readonly name: "Uzbekistan";
1174
+ readonly alpha2: "UZ";
1175
+ readonly alpha3: "UZB";
1176
+ readonly aliases: readonly ["Oʻzbekiston", "Republic of Uzbekistan"];
1177
+ }, {
1178
+ readonly name: "Vanuatu";
1179
+ readonly alpha2: "VU";
1180
+ readonly alpha3: "VUT";
1181
+ readonly aliases: readonly ["Ripablik blong Vanuatu"];
1182
+ }, {
1183
+ readonly name: "Venezuela";
1184
+ readonly alpha2: "VE";
1185
+ readonly alpha3: "VEN";
1186
+ readonly aliases: readonly ["Venezuela", "República Bolivariana de Venezuela"];
1187
+ }, {
1188
+ readonly name: "Vietnam";
1189
+ readonly alpha2: "VN";
1190
+ readonly alpha3: "VNM";
1191
+ readonly aliases: readonly ["Việt Nam", "Socialist Republic of Vietnam"];
1192
+ }, {
1193
+ readonly name: "Virgin Islands (British)";
1194
+ readonly alpha2: "VG";
1195
+ readonly alpha3: "VGB";
1196
+ readonly aliases: readonly ["British Virgin Islands"];
1197
+ }, {
1198
+ readonly name: "Virgin Islands (U.S.)";
1199
+ readonly alpha2: "VI";
1200
+ readonly alpha3: "VIR";
1201
+ readonly aliases: readonly ["U.S. Virgin Islands"];
1202
+ }, {
1203
+ readonly name: "Wallis and Futuna";
1204
+ readonly alpha2: "WF";
1205
+ readonly alpha3: "WLF";
1206
+ readonly aliases: readonly [];
1207
+ }, {
1208
+ readonly name: "Western Sahara";
1209
+ readonly alpha2: "EH";
1210
+ readonly alpha3: "ESH";
1211
+ readonly aliases: readonly ["الصحراء الغربية", "Sahara Occidental"];
1212
+ }, {
1213
+ readonly name: "Yemen";
1214
+ readonly alpha2: "YE";
1215
+ readonly alpha3: "YEM";
1216
+ readonly aliases: readonly ["اليمن", "Republic of Yemen"];
1217
+ }, {
1218
+ readonly name: "Zambia";
1219
+ readonly alpha2: "ZM";
1220
+ readonly alpha3: "ZMB";
1221
+ readonly aliases: readonly ["Republic of Zambia"];
1222
+ }, {
1223
+ readonly name: "Zimbabwe";
1224
+ readonly alpha2: "ZW";
1225
+ readonly alpha3: "ZWE";
1226
+ readonly aliases: readonly ["Republic of Zimbabwe"];
1227
+ }];
1228
+
1229
+ declare interface CountryOptions {
1230
+ output?: CountryOutput;
1231
+ message?: string;
1232
+ }
1233
+
1234
+ declare type CountryOutput = 'name' | '2-letter' | '3-letter';
1235
+
1236
+ declare type CountryTwoLetterCode = (typeof Countries)[number]['alpha2'];
1237
+
1238
+ export declare class CSVImporter<TSchema extends ExType<unknown, ExBaseDef, unknown> = ExRow<ExRowShape>> {
1239
+ private options;
1240
+ private iframe;
1241
+ private container;
1242
+ private connection;
1243
+ private connectionState;
1244
+ private debug;
1245
+ private importIdentifier;
1246
+ private sessionId;
1247
+ private _destroyTimer;
1248
+ private _beforeUnloadHandler;
1249
+ private widgetUrl;
1250
+ private appUrl;
1251
+ private widgetState;
1252
+ private widgetMode;
1253
+ private canRestart;
1254
+ private lastError;
1255
+ private openOptions;
1256
+ private cachedSchemaJson;
1257
+ private initCompletePromise;
1258
+ private resolveInitComplete;
1259
+ constructor(options: SDKOptions<TSchema>);
1260
+ /**
1261
+ * Enhanced state management
1262
+ */
1263
+ private setState;
1264
+ private updateDerivedState;
1265
+ private handleError;
1266
+ private waitForEvent;
1267
+ /**
1268
+ * Open the import flow with chunk-based data processing.
1269
+ * Automatically opens the widget if not already open.
1270
+ *
1271
+ * @param options Configuration including onData callback for processing chunks
1272
+ */
1273
+ open(options: OpenOptions<Infer<TSchema>>): void;
1274
+ /**
1275
+ * Create import session on backend with configuration
1276
+ * Idempotent: safe to call multiple times with same sessionId
1277
+ */
1278
+ private createImportSession;
1279
+ /**
1280
+ * Deliver results to webhook endpoint via backend API
1281
+ * Chunks data using SDK-determined chunk size (independent of customer's chunkSize)
1282
+ */
1283
+ private deliverToWebhook;
1284
+ /**
1285
+ * Send a single chunk to backend webhook API with retry logic
1286
+ */
1287
+ private sendChunkToBackend;
1288
+ /**
1289
+ * Process results in chunks, calling onData and/or webhook for each chunk with backpressure control
1290
+ */
1291
+ private processResultsInChunks;
1292
+ /**
1293
+ * Initialize the iframe and connection.
1294
+ * @param hidden Whether to create the iframe hidden (for preload) or visible (for normal open)
1295
+ */
1296
+ private initializeIframe;
1297
+ private log;
1298
+ private error;
1299
+ /**
1300
+ * Add beforeunload event listener to warn users about losing progress
1301
+ */
1302
+ private addBeforeUnloadListener;
1303
+ /**
1304
+ * Remove beforeunload event listener
1305
+ */
1306
+ private removeBeforeUnloadListener;
1307
+ private waitForIframeLoad;
1308
+ private setupConnectionAndInit;
1309
+ openWidget(options?: {
1310
+ reset?: boolean;
1311
+ }): Promise<void>;
1312
+ /**
1313
+ * Makes a hidden container visible for instant display of preloaded iframe
1314
+ */
1315
+ private makeContainerVisible;
1316
+ private setupMessageHandlers;
1317
+ private createAndAppendIframe;
1318
+ private destroy;
1319
+ close(reason?: 'user_close' | 'cancel' | 'complete' | 'error'): Promise<void>;
1320
+ private resetWidget;
1321
+ restart(newOptions?: Partial<SDKOptions<TSchema>>): Promise<void>;
1322
+ private handleWidgetClosed;
1323
+ private hideContainer;
1324
+ getConnectionStatus(): boolean;
1325
+ getState(): WidgetState;
1326
+ getMode(): WidgetMode;
1327
+ getIsReady(): boolean;
1328
+ getIsOpen(): boolean;
1329
+ getCanRestart(): boolean;
1330
+ getLastError(): Error | null;
1331
+ getStatus(): {
1332
+ state: WidgetState;
1333
+ mode: WidgetMode;
1334
+ isReady: boolean;
1335
+ isOpen: boolean;
1336
+ canRestart: boolean;
1337
+ hasError: boolean;
1338
+ lastError: Error | null;
1339
+ connectionStatus: boolean;
1340
+ };
1341
+ getVersion(): string;
1342
+ }
1343
+
1344
+ /**
1345
+ * ISO 4217 Currency Codes
1346
+ *
1347
+ * This file contains the list of all valid currency codes according to ISO 4217 standard.
1348
+ * Each currency has a 3-letter code, a name, and a numeric code.
1349
+ */
1350
+ declare type CurrencyCode = (typeof CurrencyCodes)[number]['code'];
1351
+
1352
+ declare interface CurrencyCodeOptions {
1353
+ allowedCurrencies?: CurrencyCode[];
1354
+ message?: string;
1355
+ }
1356
+
1357
+ declare const CurrencyCodes: readonly [{
1358
+ readonly code: "AED";
1359
+ readonly name: "United Arab Emirates dirham";
1360
+ readonly numeric: "784";
1361
+ }, {
1362
+ readonly code: "AFN";
1363
+ readonly name: "Afghan afghani";
1364
+ readonly numeric: "971";
1365
+ }, {
1366
+ readonly code: "ALL";
1367
+ readonly name: "Albanian lek";
1368
+ readonly numeric: "008";
1369
+ }, {
1370
+ readonly code: "AMD";
1371
+ readonly name: "Armenian dram";
1372
+ readonly numeric: "051";
1373
+ }, {
1374
+ readonly code: "ANG";
1375
+ readonly name: "Netherlands Antillean guilder";
1376
+ readonly numeric: "532";
1377
+ }, {
1378
+ readonly code: "AOA";
1379
+ readonly name: "Angolan kwanza";
1380
+ readonly numeric: "973";
1381
+ }, {
1382
+ readonly code: "ARS";
1383
+ readonly name: "Argentine peso";
1384
+ readonly numeric: "032";
1385
+ }, {
1386
+ readonly code: "AUD";
1387
+ readonly name: "Australian dollar";
1388
+ readonly numeric: "036";
1389
+ }, {
1390
+ readonly code: "AWG";
1391
+ readonly name: "Aruban florin";
1392
+ readonly numeric: "533";
1393
+ }, {
1394
+ readonly code: "AZN";
1395
+ readonly name: "Azerbaijani manat";
1396
+ readonly numeric: "944";
1397
+ }, {
1398
+ readonly code: "BAM";
1399
+ readonly name: "Bosnia and Herzegovina convertible mark";
1400
+ readonly numeric: "977";
1401
+ }, {
1402
+ readonly code: "BBD";
1403
+ readonly name: "Barbados dollar";
1404
+ readonly numeric: "052";
1405
+ }, {
1406
+ readonly code: "BDT";
1407
+ readonly name: "Bangladeshi taka";
1408
+ readonly numeric: "050";
1409
+ }, {
1410
+ readonly code: "BGN";
1411
+ readonly name: "Bulgarian lev";
1412
+ readonly numeric: "975";
1413
+ }, {
1414
+ readonly code: "BHD";
1415
+ readonly name: "Bahraini dinar";
1416
+ readonly numeric: "048";
1417
+ }, {
1418
+ readonly code: "BIF";
1419
+ readonly name: "Burundian franc";
1420
+ readonly numeric: "108";
1421
+ }, {
1422
+ readonly code: "BMD";
1423
+ readonly name: "Bermudian dollar";
1424
+ readonly numeric: "060";
1425
+ }, {
1426
+ readonly code: "BND";
1427
+ readonly name: "Brunei dollar";
1428
+ readonly numeric: "096";
1429
+ }, {
1430
+ readonly code: "BOB";
1431
+ readonly name: "Boliviano";
1432
+ readonly numeric: "068";
1433
+ }, {
1434
+ readonly code: "BRL";
1435
+ readonly name: "Brazilian real";
1436
+ readonly numeric: "986";
1437
+ }, {
1438
+ readonly code: "BSD";
1439
+ readonly name: "Bahamian dollar";
1440
+ readonly numeric: "044";
1441
+ }, {
1442
+ readonly code: "BTN";
1443
+ readonly name: "Bhutanese ngultrum";
1444
+ readonly numeric: "064";
1445
+ }, {
1446
+ readonly code: "BWP";
1447
+ readonly name: "Botswana pula";
1448
+ readonly numeric: "072";
1449
+ }, {
1450
+ readonly code: "BYN";
1451
+ readonly name: "Belarusian ruble";
1452
+ readonly numeric: "933";
1453
+ }, {
1454
+ readonly code: "BZD";
1455
+ readonly name: "Belize dollar";
1456
+ readonly numeric: "084";
1457
+ }, {
1458
+ readonly code: "CAD";
1459
+ readonly name: "Canadian dollar";
1460
+ readonly numeric: "124";
1461
+ }, {
1462
+ readonly code: "CDF";
1463
+ readonly name: "Congolese franc";
1464
+ readonly numeric: "976";
1465
+ }, {
1466
+ readonly code: "CHF";
1467
+ readonly name: "Swiss franc";
1468
+ readonly numeric: "756";
1469
+ }, {
1470
+ readonly code: "CLP";
1471
+ readonly name: "Chilean peso";
1472
+ readonly numeric: "152";
1473
+ }, {
1474
+ readonly code: "CNY";
1475
+ readonly name: "Chinese yuan";
1476
+ readonly numeric: "156";
1477
+ }, {
1478
+ readonly code: "COP";
1479
+ readonly name: "Colombian peso";
1480
+ readonly numeric: "170";
1481
+ }, {
1482
+ readonly code: "CRC";
1483
+ readonly name: "Costa Rican colon";
1484
+ readonly numeric: "188";
1485
+ }, {
1486
+ readonly code: "CUC";
1487
+ readonly name: "Cuban convertible peso";
1488
+ readonly numeric: "931";
1489
+ }, {
1490
+ readonly code: "CUP";
1491
+ readonly name: "Cuban peso";
1492
+ readonly numeric: "192";
1493
+ }, {
1494
+ readonly code: "CVE";
1495
+ readonly name: "Cape Verdean escudo";
1496
+ readonly numeric: "132";
1497
+ }, {
1498
+ readonly code: "CZK";
1499
+ readonly name: "Czech koruna";
1500
+ readonly numeric: "203";
1501
+ }, {
1502
+ readonly code: "DJF";
1503
+ readonly name: "Djiboutian franc";
1504
+ readonly numeric: "262";
1505
+ }, {
1506
+ readonly code: "DKK";
1507
+ readonly name: "Danish krone";
1508
+ readonly numeric: "208";
1509
+ }, {
1510
+ readonly code: "DOP";
1511
+ readonly name: "Dominican peso";
1512
+ readonly numeric: "214";
1513
+ }, {
1514
+ readonly code: "DZD";
1515
+ readonly name: "Algerian dinar";
1516
+ readonly numeric: "012";
1517
+ }, {
1518
+ readonly code: "EGP";
1519
+ readonly name: "Egyptian pound";
1520
+ readonly numeric: "818";
1521
+ }, {
1522
+ readonly code: "ERN";
1523
+ readonly name: "Eritrean nakfa";
1524
+ readonly numeric: "232";
1525
+ }, {
1526
+ readonly code: "ETB";
1527
+ readonly name: "Ethiopian birr";
1528
+ readonly numeric: "230";
1529
+ }, {
1530
+ readonly code: "EUR";
1531
+ readonly name: "Euro";
1532
+ readonly numeric: "978";
1533
+ }, {
1534
+ readonly code: "FJD";
1535
+ readonly name: "Fiji dollar";
1536
+ readonly numeric: "242";
1537
+ }, {
1538
+ readonly code: "FKP";
1539
+ readonly name: "Falkland Islands pound";
1540
+ readonly numeric: "238";
1541
+ }, {
1542
+ readonly code: "GBP";
1543
+ readonly name: "Pound sterling";
1544
+ readonly numeric: "826";
1545
+ }, {
1546
+ readonly code: "GEL";
1547
+ readonly name: "Georgian lari";
1548
+ readonly numeric: "981";
1549
+ }, {
1550
+ readonly code: "GHS";
1551
+ readonly name: "Ghanaian cedi";
1552
+ readonly numeric: "936";
1553
+ }, {
1554
+ readonly code: "GIP";
1555
+ readonly name: "Gibraltar pound";
1556
+ readonly numeric: "292";
1557
+ }, {
1558
+ readonly code: "GMD";
1559
+ readonly name: "Gambian dalasi";
1560
+ readonly numeric: "270";
1561
+ }, {
1562
+ readonly code: "GNF";
1563
+ readonly name: "Guinean franc";
1564
+ readonly numeric: "324";
1565
+ }, {
1566
+ readonly code: "GTQ";
1567
+ readonly name: "Guatemalan quetzal";
1568
+ readonly numeric: "320";
1569
+ }, {
1570
+ readonly code: "GYD";
1571
+ readonly name: "Guyanese dollar";
1572
+ readonly numeric: "328";
1573
+ }, {
1574
+ readonly code: "HKD";
1575
+ readonly name: "Hong Kong dollar";
1576
+ readonly numeric: "344";
1577
+ }, {
1578
+ readonly code: "HNL";
1579
+ readonly name: "Honduran lempira";
1580
+ readonly numeric: "340";
1581
+ }, {
1582
+ readonly code: "HRK";
1583
+ readonly name: "Croatian kuna";
1584
+ readonly numeric: "191";
1585
+ }, {
1586
+ readonly code: "HTG";
1587
+ readonly name: "Haitian gourde";
1588
+ readonly numeric: "332";
1589
+ }, {
1590
+ readonly code: "HUF";
1591
+ readonly name: "Hungarian forint";
1592
+ readonly numeric: "348";
1593
+ }, {
1594
+ readonly code: "IDR";
1595
+ readonly name: "Indonesian rupiah";
1596
+ readonly numeric: "360";
1597
+ }, {
1598
+ readonly code: "ILS";
1599
+ readonly name: "Israeli new shekel";
1600
+ readonly numeric: "376";
1601
+ }, {
1602
+ readonly code: "INR";
1603
+ readonly name: "Indian rupee";
1604
+ readonly numeric: "356";
1605
+ }, {
1606
+ readonly code: "IQD";
1607
+ readonly name: "Iraqi dinar";
1608
+ readonly numeric: "368";
1609
+ }, {
1610
+ readonly code: "IRR";
1611
+ readonly name: "Iranian rial";
1612
+ readonly numeric: "364";
1613
+ }, {
1614
+ readonly code: "ISK";
1615
+ readonly name: "Icelandic króna";
1616
+ readonly numeric: "352";
1617
+ }, {
1618
+ readonly code: "JMD";
1619
+ readonly name: "Jamaican dollar";
1620
+ readonly numeric: "388";
1621
+ }, {
1622
+ readonly code: "JOD";
1623
+ readonly name: "Jordanian dinar";
1624
+ readonly numeric: "400";
1625
+ }, {
1626
+ readonly code: "JPY";
1627
+ readonly name: "Japanese yen";
1628
+ readonly numeric: "392";
1629
+ }, {
1630
+ readonly code: "KES";
1631
+ readonly name: "Kenyan shilling";
1632
+ readonly numeric: "404";
1633
+ }, {
1634
+ readonly code: "KGS";
1635
+ readonly name: "Kyrgyzstani som";
1636
+ readonly numeric: "417";
1637
+ }, {
1638
+ readonly code: "KHR";
1639
+ readonly name: "Cambodian riel";
1640
+ readonly numeric: "116";
1641
+ }, {
1642
+ readonly code: "KMF";
1643
+ readonly name: "Comoro franc";
1644
+ readonly numeric: "174";
1645
+ }, {
1646
+ readonly code: "KPW";
1647
+ readonly name: "North Korean won";
1648
+ readonly numeric: "408";
1649
+ }, {
1650
+ readonly code: "KRW";
1651
+ readonly name: "South Korean won";
1652
+ readonly numeric: "410";
1653
+ }, {
1654
+ readonly code: "KWD";
1655
+ readonly name: "Kuwaiti dinar";
1656
+ readonly numeric: "414";
1657
+ }, {
1658
+ readonly code: "KYD";
1659
+ readonly name: "Cayman Islands dollar";
1660
+ readonly numeric: "136";
1661
+ }, {
1662
+ readonly code: "KZT";
1663
+ readonly name: "Kazakhstani tenge";
1664
+ readonly numeric: "398";
1665
+ }, {
1666
+ readonly code: "LAK";
1667
+ readonly name: "Lao kip";
1668
+ readonly numeric: "418";
1669
+ }, {
1670
+ readonly code: "LBP";
1671
+ readonly name: "Lebanese pound";
1672
+ readonly numeric: "422";
1673
+ }, {
1674
+ readonly code: "LKR";
1675
+ readonly name: "Sri Lankan rupee";
1676
+ readonly numeric: "144";
1677
+ }, {
1678
+ readonly code: "LRD";
1679
+ readonly name: "Liberian dollar";
1680
+ readonly numeric: "430";
1681
+ }, {
1682
+ readonly code: "LSL";
1683
+ readonly name: "Lesotho loti";
1684
+ readonly numeric: "426";
1685
+ }, {
1686
+ readonly code: "LYD";
1687
+ readonly name: "Libyan dinar";
1688
+ readonly numeric: "434";
1689
+ }, {
1690
+ readonly code: "MAD";
1691
+ readonly name: "Moroccan dirham";
1692
+ readonly numeric: "504";
1693
+ }, {
1694
+ readonly code: "MDL";
1695
+ readonly name: "Moldovan leu";
1696
+ readonly numeric: "498";
1697
+ }, {
1698
+ readonly code: "MGA";
1699
+ readonly name: "Malagasy ariary";
1700
+ readonly numeric: "969";
1701
+ }, {
1702
+ readonly code: "MKD";
1703
+ readonly name: "Macedonian denar";
1704
+ readonly numeric: "807";
1705
+ }, {
1706
+ readonly code: "MMK";
1707
+ readonly name: "Myanmar kyat";
1708
+ readonly numeric: "104";
1709
+ }, {
1710
+ readonly code: "MNT";
1711
+ readonly name: "Mongolian tögrög";
1712
+ readonly numeric: "496";
1713
+ }, {
1714
+ readonly code: "MOP";
1715
+ readonly name: "Macanese pataca";
1716
+ readonly numeric: "446";
1717
+ }, {
1718
+ readonly code: "MRU";
1719
+ readonly name: "Mauritanian ouguiya";
1720
+ readonly numeric: "929";
1721
+ }, {
1722
+ readonly code: "MUR";
1723
+ readonly name: "Mauritian rupee";
1724
+ readonly numeric: "480";
1725
+ }, {
1726
+ readonly code: "MVR";
1727
+ readonly name: "Maldivian rufiyaa";
1728
+ readonly numeric: "462";
1729
+ }, {
1730
+ readonly code: "MWK";
1731
+ readonly name: "Malawian kwacha";
1732
+ readonly numeric: "454";
1733
+ }, {
1734
+ readonly code: "MXN";
1735
+ readonly name: "Mexican peso";
1736
+ readonly numeric: "484";
1737
+ }, {
1738
+ readonly code: "MYR";
1739
+ readonly name: "Malaysian ringgit";
1740
+ readonly numeric: "458";
1741
+ }, {
1742
+ readonly code: "MZN";
1743
+ readonly name: "Mozambican metical";
1744
+ readonly numeric: "943";
1745
+ }, {
1746
+ readonly code: "NAD";
1747
+ readonly name: "Namibian dollar";
1748
+ readonly numeric: "516";
1749
+ }, {
1750
+ readonly code: "NGN";
1751
+ readonly name: "Nigerian naira";
1752
+ readonly numeric: "566";
1753
+ }, {
1754
+ readonly code: "NIO";
1755
+ readonly name: "Nicaraguan córdoba";
1756
+ readonly numeric: "558";
1757
+ }, {
1758
+ readonly code: "NOK";
1759
+ readonly name: "Norwegian krone";
1760
+ readonly numeric: "578";
1761
+ }, {
1762
+ readonly code: "NPR";
1763
+ readonly name: "Nepalese rupee";
1764
+ readonly numeric: "524";
1765
+ }, {
1766
+ readonly code: "NZD";
1767
+ readonly name: "New Zealand dollar";
1768
+ readonly numeric: "554";
1769
+ }, {
1770
+ readonly code: "OMR";
1771
+ readonly name: "Omani rial";
1772
+ readonly numeric: "512";
1773
+ }, {
1774
+ readonly code: "PAB";
1775
+ readonly name: "Panamanian balboa";
1776
+ readonly numeric: "590";
1777
+ }, {
1778
+ readonly code: "PEN";
1779
+ readonly name: "Peruvian sol";
1780
+ readonly numeric: "604";
1781
+ }, {
1782
+ readonly code: "PGK";
1783
+ readonly name: "Papua New Guinean kina";
1784
+ readonly numeric: "598";
1785
+ }, {
1786
+ readonly code: "PHP";
1787
+ readonly name: "Philippine peso";
1788
+ readonly numeric: "608";
1789
+ }, {
1790
+ readonly code: "PKR";
1791
+ readonly name: "Pakistani rupee";
1792
+ readonly numeric: "586";
1793
+ }, {
1794
+ readonly code: "PLN";
1795
+ readonly name: "Polish złoty";
1796
+ readonly numeric: "985";
1797
+ }, {
1798
+ readonly code: "PYG";
1799
+ readonly name: "Paraguayan guaraní";
1800
+ readonly numeric: "600";
1801
+ }, {
1802
+ readonly code: "QAR";
1803
+ readonly name: "Qatari riyal";
1804
+ readonly numeric: "634";
1805
+ }, {
1806
+ readonly code: "RON";
1807
+ readonly name: "Romanian leu";
1808
+ readonly numeric: "946";
1809
+ }, {
1810
+ readonly code: "RSD";
1811
+ readonly name: "Serbian dinar";
1812
+ readonly numeric: "941";
1813
+ }, {
1814
+ readonly code: "RUB";
1815
+ readonly name: "Russian ruble";
1816
+ readonly numeric: "643";
1817
+ }, {
1818
+ readonly code: "RWF";
1819
+ readonly name: "Rwandan franc";
1820
+ readonly numeric: "646";
1821
+ }, {
1822
+ readonly code: "SAR";
1823
+ readonly name: "Saudi riyal";
1824
+ readonly numeric: "682";
1825
+ }, {
1826
+ readonly code: "SBD";
1827
+ readonly name: "Solomon Islands dollar";
1828
+ readonly numeric: "090";
1829
+ }, {
1830
+ readonly code: "SCR";
1831
+ readonly name: "Seychelles rupee";
1832
+ readonly numeric: "690";
1833
+ }, {
1834
+ readonly code: "SDG";
1835
+ readonly name: "Sudanese pound";
1836
+ readonly numeric: "938";
1837
+ }, {
1838
+ readonly code: "SEK";
1839
+ readonly name: "Swedish krona";
1840
+ readonly numeric: "752";
1841
+ }, {
1842
+ readonly code: "SGD";
1843
+ readonly name: "Singapore dollar";
1844
+ readonly numeric: "702";
1845
+ }, {
1846
+ readonly code: "SHP";
1847
+ readonly name: "Saint Helena pound";
1848
+ readonly numeric: "654";
1849
+ }, {
1850
+ readonly code: "SLL";
1851
+ readonly name: "Sierra Leonean leone";
1852
+ readonly numeric: "694";
1853
+ }, {
1854
+ readonly code: "SOS";
1855
+ readonly name: "Somali shilling";
1856
+ readonly numeric: "706";
1857
+ }, {
1858
+ readonly code: "SRD";
1859
+ readonly name: "Surinamese dollar";
1860
+ readonly numeric: "968";
1861
+ }, {
1862
+ readonly code: "SSP";
1863
+ readonly name: "South Sudanese pound";
1864
+ readonly numeric: "728";
1865
+ }, {
1866
+ readonly code: "STN";
1867
+ readonly name: "São Tomé and Príncipe dobra";
1868
+ readonly numeric: "930";
1869
+ }, {
1870
+ readonly code: "SVC";
1871
+ readonly name: "Salvadoran colón";
1872
+ readonly numeric: "222";
1873
+ }, {
1874
+ readonly code: "SYP";
1875
+ readonly name: "Syrian pound";
1876
+ readonly numeric: "760";
1877
+ }, {
1878
+ readonly code: "SZL";
1879
+ readonly name: "Swazi lilangeni";
1880
+ readonly numeric: "748";
1881
+ }, {
1882
+ readonly code: "THB";
1883
+ readonly name: "Thai baht";
1884
+ readonly numeric: "764";
1885
+ }, {
1886
+ readonly code: "TJS";
1887
+ readonly name: "Tajikistani somoni";
1888
+ readonly numeric: "972";
1889
+ }, {
1890
+ readonly code: "TMT";
1891
+ readonly name: "Turkmenistan manat";
1892
+ readonly numeric: "934";
1893
+ }, {
1894
+ readonly code: "TND";
1895
+ readonly name: "Tunisian dinar";
1896
+ readonly numeric: "788";
1897
+ }, {
1898
+ readonly code: "TOP";
1899
+ readonly name: "Tongan paʻanga";
1900
+ readonly numeric: "776";
1901
+ }, {
1902
+ readonly code: "TRY";
1903
+ readonly name: "Turkish lira";
1904
+ readonly numeric: "949";
1905
+ }, {
1906
+ readonly code: "TTD";
1907
+ readonly name: "Trinidad and Tobago dollar";
1908
+ readonly numeric: "780";
1909
+ }, {
1910
+ readonly code: "TWD";
1911
+ readonly name: "New Taiwan dollar";
1912
+ readonly numeric: "901";
1913
+ }, {
1914
+ readonly code: "TZS";
1915
+ readonly name: "Tanzanian shilling";
1916
+ readonly numeric: "834";
1917
+ }, {
1918
+ readonly code: "UAH";
1919
+ readonly name: "Ukrainian hryvnia";
1920
+ readonly numeric: "980";
1921
+ }, {
1922
+ readonly code: "UGX";
1923
+ readonly name: "Ugandan shilling";
1924
+ readonly numeric: "800";
1925
+ }, {
1926
+ readonly code: "USD";
1927
+ readonly name: "United States dollar";
1928
+ readonly numeric: "840";
1929
+ }, {
1930
+ readonly code: "UYU";
1931
+ readonly name: "Uruguayan peso";
1932
+ readonly numeric: "858";
1933
+ }, {
1934
+ readonly code: "UZS";
1935
+ readonly name: "Uzbekistan som";
1936
+ readonly numeric: "860";
1937
+ }, {
1938
+ readonly code: "VES";
1939
+ readonly name: "Venezuelan bolívar soberano";
1940
+ readonly numeric: "928";
1941
+ }, {
1942
+ readonly code: "VND";
1943
+ readonly name: "Vietnamese đồng";
1944
+ readonly numeric: "704";
1945
+ }, {
1946
+ readonly code: "VUV";
1947
+ readonly name: "Vanuatu vatu";
1948
+ readonly numeric: "548";
1949
+ }, {
1950
+ readonly code: "WST";
1951
+ readonly name: "Samoan tala";
1952
+ readonly numeric: "882";
1953
+ }, {
1954
+ readonly code: "XAF";
1955
+ readonly name: "CFA franc BEAC";
1956
+ readonly numeric: "950";
1957
+ }, {
1958
+ readonly code: "XCD";
1959
+ readonly name: "East Caribbean dollar";
1960
+ readonly numeric: "951";
1961
+ }, {
1962
+ readonly code: "XOF";
1963
+ readonly name: "CFA franc BCEAO";
1964
+ readonly numeric: "952";
1965
+ }, {
1966
+ readonly code: "XPF";
1967
+ readonly name: "CFP franc";
1968
+ readonly numeric: "953";
1969
+ }, {
1970
+ readonly code: "YER";
1971
+ readonly name: "Yemeni rial";
1972
+ readonly numeric: "886";
1973
+ }, {
1974
+ readonly code: "ZAR";
1975
+ readonly name: "South African rand";
1976
+ readonly numeric: "710";
1977
+ }, {
1978
+ readonly code: "ZMW";
1979
+ readonly name: "Zambian kwacha";
1980
+ readonly numeric: "967";
1981
+ }, {
1982
+ readonly code: "ZWL";
1983
+ readonly name: "Zimbabwean dollar";
1984
+ readonly numeric: "932";
1985
+ }];
1986
+
1987
+ declare interface DatetimeOptions {
1988
+ message?: string;
1989
+ }
1990
+
1991
+ export declare type DeepPartial<T> = {
1992
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
1993
+ };
1994
+
1995
+ /**
1996
+ * Delivery options - requires at least one of onData or webhook
1997
+ */
1998
+ export declare type DeliveryOptions<T> = RequireAtLeastOne<DeliveryOptionsBase<T>, 'onData' | 'webhook'>;
1999
+
2000
+ /**
2001
+ * Base delivery options - at least one must be provided
2002
+ */
2003
+ declare interface DeliveryOptionsBase<T> {
2004
+ /** Local callback for processing chunks */
2005
+ onData?: (chunk: RecordsChunk<T>, next: () => void) => void | Promise<void>;
2006
+ /** Webhook configuration for remote delivery */
2007
+ webhook?: WebhookConfig;
2008
+ }
2009
+
2010
+ /**
2011
+ * Font source configuration for custom fonts
2012
+ */
2013
+ export declare type ECSVFontSource = {
2014
+ source: 'google';
2015
+ name: string;
2016
+ weights?: (number | string)[];
2017
+ } | {
2018
+ source: 'custom';
2019
+ url: string;
2020
+ format?: 'woff2' | 'woff';
2021
+ };
2022
+
2023
+ /**
2024
+ * Theme - can be either dual-mode (light/dark) or single-mode (applies to both)
2025
+ */
2026
+ export declare type ECSVTheme = ECSVThemeWithModes | ECSVThemeSingle;
2027
+
2028
+ /**
2029
+ * Single theme that applies to both light and dark modes
2030
+ */
2031
+ declare type ECSVThemeSingle = TailwindThemeVars;
2032
+
2033
+ /**
2034
+ * Theme with light and dark mode support
2035
+ */
2036
+ declare interface ECSVThemeWithModes {
2037
+ modes: {
2038
+ light: TailwindThemeVars;
2039
+ dark: TailwindThemeVars;
2040
+ };
2041
+ }
2042
+
2043
+ export declare interface ExBaseDef {
2044
+ typeName: string;
2045
+ }
2046
+
2047
+ /**
2048
+ * Boolean field type that validates true/false values.
2049
+ *
2050
+ * When parsing strings (all comparisons are case-insensitive):
2051
+ * - The following values are considered false:
2052
+ * "" (empty cell), "0", "off", "n", "no", "false", "disabled"
2053
+ * - Cross characters are considered false: "×", "✗", "✘", "x"
2054
+ * - Check characters are considered true: "✓", "✔", "☑", "✅"
2055
+ * - All other string values are considered true
2056
+ *
2057
+ * When parsing numbers:
2058
+ * - 0 is considered false
2059
+ * - All other numbers are considered true
2060
+ */
2061
+ declare class ExBoolean extends PrimitiveExType<boolean, ExBooleanDef> {
2062
+ /**
2063
+ * Factory method to create an ExBoolean validator
2064
+ *
2065
+ * @param options - Configuration options
2066
+ * @param options.control - UI control type to use ('toggle', 'checkbox', 'dropdown')
2067
+ * @param options.message - Optional custom error message for validation failures
2068
+ * @returns A new ExBoolean instance
2069
+ */
2070
+ static create(options?: {
2071
+ control?: BooleanControlType;
2072
+ message?: string;
2073
+ }): ExBoolean;
2074
+ /**
2075
+ * Creates an optional version of this type
2076
+ *
2077
+ * @returns An optional version of this type
2078
+ */
2079
+ optional(): ExOptionalBoolean;
2080
+ }
2081
+
2082
+ declare interface ExBooleanDef extends PrimitiveExBaseDef {
2083
+ typeName: 'ExBoolean';
2084
+ control?: BooleanControlType;
2085
+ message?: string;
2086
+ checks: ValidatorCheck[];
2087
+ }
2088
+
2089
+ declare class ExCurrencyNumber extends ExNumberBase<ExCurrencyNumber> {
2090
+ /**
2091
+ * Creates an optional version of this type
2092
+ *
2093
+ * @returns An optional version of this type
2094
+ */
2095
+ optional(): ExOptionalCurrencyNumber;
2096
+ /**
2097
+ * Updates the currency code for this currency number
2098
+ * This allows chaining multiple currency() calls with "last call wins" behavior
2099
+ *
2100
+ * @param currencyCode - ISO 4217 currency code (e.g., 'USD', 'EUR', 'JPY')
2101
+ * @returns The instance for method chaining
2102
+ */
2103
+ currency(currencyCode: CurrencyCode): ExCurrencyNumber;
2104
+ }
2105
+
2106
+ declare class ExDate extends PrimitiveExType<string, ExDateDef> {
2107
+ /**
2108
+ * Factory method to create an ExDate validator
2109
+ *
2110
+ * @param options - Configuration options
2111
+ * @param options.message - Optional custom error message for validation failures
2112
+ * @returns A new ExDate instance
2113
+ */
2114
+ static create(options?: {
2115
+ message?: string;
2116
+ }): ExDate;
2117
+ /**
2118
+ * Creates an optional version of this type
2119
+ *
2120
+ * @returns An optional version of this type
2121
+ */
2122
+ optional(): ExOptionalDate;
2123
+ /**
2124
+ * Sets a custom output format for the date
2125
+ *
2126
+ * @param template - Format template string for output
2127
+ * @returns The ExDate instance for method chaining
2128
+ */
2129
+ output(template: string): this;
2130
+ }
2131
+
2132
+ declare interface ExDateDef extends PrimitiveExBaseDef {
2133
+ typeName: 'ExDate';
2134
+ message?: string;
2135
+ outputFormat?: string;
2136
+ internalValue?: {
2137
+ year: number;
2138
+ month: number;
2139
+ day: number;
2140
+ };
2141
+ }
2142
+
2143
+ declare class ExDatetime extends PrimitiveExType<string, ExDatetimeDef> {
2144
+ /**
2145
+ * Factory method to create an ExDatetime validator
2146
+ *
2147
+ * @param options - Configuration options
2148
+ * @param options.message - Optional custom error message for validation failures
2149
+ * @returns A new ExDatetime instance
2150
+ */
2151
+ static create(options?: DatetimeOptions): ExDatetime;
2152
+ /**
2153
+ * Creates an optional version of this type
2154
+ *
2155
+ * @returns An optional version of this type
2156
+ */
2157
+ optional(): ExOptionalDatetime;
2158
+ /**
2159
+ * Sets a custom output format for the datetime
2160
+ *
2161
+ * @param template - Format template string for output
2162
+ * @returns The ExDatetime instance for method chaining
2163
+ */
2164
+ output(template: string): this;
2165
+ /**
2166
+ * Allows timezone offsets in the datetime string
2167
+ *
2168
+ * @param options - Configuration options
2169
+ * @param options.message - Custom error message for validation failures
2170
+ * @returns The ExDatetime instance for method chaining
2171
+ */
2172
+ allowOffset(options?: {
2173
+ message?: string;
2174
+ }): this;
2175
+ private _getDatetimeCheck;
2176
+ }
2177
+
2178
+ declare interface ExDatetimeDef extends PrimitiveExBaseDef {
2179
+ typeName: 'ExDatetime';
2180
+ checks: ValidatorCheck[];
2181
+ outputFormat?: string;
2182
+ internalValue?: string;
2183
+ }
2184
+
2185
+ declare class ExMultiselect<TValue extends string | number = string | number> extends PrimitiveExType<TValue[], ExMultiselectDef<TValue>> {
2186
+ /**
2187
+ * Factory method to create an ExMultiselect validator for multiple selection
2188
+ *
2189
+ * @param options - Array of select options with labels and values
2190
+ * @param config - Configuration options
2191
+ * @param config.enforceCaseSensitiveMatch - Whether to enforce case-sensitive matching
2192
+ * @param config.message - Custom error message for validation failures
2193
+ * @returns A new ExMultiselect instance
2194
+ */
2195
+ static create<const T extends readonly (SelectOption & {
2196
+ value: string | number;
2197
+ })[]>(options: T, config?: MultiselectOptions): ExMultiselect<T[number]['value']>;
2198
+ /**
2199
+ * Creates an optional version of this multiselect type
2200
+ *
2201
+ * @returns An optional version of this multiselect type
2202
+ */
2203
+ optional(): ExOptionalMultiselect<TValue>;
2204
+ /**
2205
+ * Sets case sensitive matching for option values
2206
+ *
2207
+ * @param enabled - Whether to enable case-sensitive matching
2208
+ * @returns The ExMultiselect instance for method chaining
2209
+ */
2210
+ caseSensitive(enabled?: boolean): this;
2211
+ /**
2212
+ * Sets minimum number of selections required
2213
+ *
2214
+ * @param min - Minimum number of selections (must be at least 1)
2215
+ * @param message - Custom error message for minimum validation
2216
+ * @returns The ExMultiselect instance for method chaining
2217
+ */
2218
+ min(min: number, message?: string): this;
2219
+ /**
2220
+ * Sets maximum number of selections allowed
2221
+ *
2222
+ * @param max - Maximum number of selections
2223
+ * @param message - Custom error message for maximum validation
2224
+ * @returns The ExMultiselect instance for method chaining
2225
+ */
2226
+ max(max: number, message?: string): this;
2227
+ }
2228
+
2229
+ declare interface ExMultiselectDef<TValue extends string | number = string | number> extends PrimitiveExBaseDef {
2230
+ typeName: 'ExMultiselect';
2231
+ options: SelectOption<TValue>[];
2232
+ config: {
2233
+ enforceCaseSensitiveMatch: boolean;
2234
+ allowCustom?: boolean;
2235
+ };
2236
+ checks: ValidatorCheck[];
2237
+ _value?: TValue[];
2238
+ message?: string;
2239
+ }
2240
+
2241
+ declare class ExNumber extends ExNumberBase<ExNumber> {
2242
+ /**
2243
+ * Factory method to create an ExNumber validator
2244
+ *
2245
+ * @param options - Configuration options
2246
+ * @param options.message - Optional custom error message for validation failures
2247
+ * @returns A new ExNumber instance
2248
+ */
2249
+ static create(options?: {
2250
+ message?: string;
2251
+ }): ExNumber;
2252
+ /**
2253
+ * Creates an optional version of this type
2254
+ *
2255
+ * @returns An optional version of this type
2256
+ */
2257
+ optional(): ExOptionalNumber;
2258
+ /**
2259
+ * Marks the number as a percentage value for presentation purposes.
2260
+ * This flag tells the cell editor to display the number with a percentage symbol.
2261
+ * No input or output transformation is performed - values are stored as-is.
2262
+ *
2263
+ * @returns A specialized percentage number type
2264
+ */
2265
+ percentage(): ExPercentageNumber;
2266
+ /**
2267
+ * Marks the number as a currency value, associating it with a specific currency code
2268
+ * The number will be formatted for the specified currency
2269
+ *
2270
+ * @param currencyCode - ISO 4217 currency code (e.g., 'USD', 'EUR', 'JPY')
2271
+ * @returns A specialized currency number type
2272
+ */
2273
+ currency(currencyCode: CurrencyCode): ExCurrencyNumber;
2274
+ }
2275
+
2276
+ declare abstract class ExNumberBase<T extends ExNumberBase<T>> extends PrimitiveExType<number, ExNumberDef> {
2277
+ /**
2278
+ * Validates that the number is greater than or equal to the specified minimum value
2279
+ *
2280
+ * @param value - Minimum allowed value
2281
+ * @param options - Configuration options
2282
+ * @param options.message - Custom error message for validation failures
2283
+ * @returns The instance for method chaining
2284
+ */
2285
+ min(value: number, options?: {
2286
+ message?: string;
2287
+ }): this;
2288
+ /**
2289
+ * Validates that the number is less than or equal to the specified maximum value
2290
+ *
2291
+ * @param value - Maximum allowed value
2292
+ * @param options - Configuration options
2293
+ * @param options.message - Custom error message for validation failures
2294
+ * @returns The instance for method chaining
2295
+ */
2296
+ max(value: number, options?: {
2297
+ message?: string;
2298
+ }): this;
2299
+ /**
2300
+ * Validates that the number is an integer (no decimal places)
2301
+ *
2302
+ * @param options - Configuration options
2303
+ * @param options.message - Custom error message for validation failures
2304
+ * @returns The instance for method chaining
2305
+ */
2306
+ integer(options?: {
2307
+ message?: string;
2308
+ }): this;
2309
+ /**
2310
+ * Validates that the number is a multiple of the specified value
2311
+ *
2312
+ * @param value - The number that the validated value must be a multiple of
2313
+ * @param options - Configuration options
2314
+ * @param options.message - Custom error message for validation failures
2315
+ * @returns The instance for method chaining
2316
+ */
2317
+ multipleOf(value: number, options?: {
2318
+ message?: string;
2319
+ }): this;
2320
+ }
2321
+
2322
+ declare interface ExNumberDef extends PrimitiveExBaseDef {
2323
+ typeName: 'ExNumber';
2324
+ checks: ValidatorCheck[];
2325
+ isPercentage?: boolean;
2326
+ currencyCode?: CurrencyCode;
2327
+ }
2328
+
2329
+ declare class ExOptional<T extends ExType<unknown, ExBaseDef, unknown>> extends PrimitiveExType<T extends ExType<infer O, ExBaseDef, unknown> ? O | null : never, ExOptionalDef<T>> {
2330
+ /**
2331
+ * Factory method to create an ExOptional wrapper around a type
2332
+ *
2333
+ * @param type - The type to make optional
2334
+ * @param options - Configuration options
2335
+ * @param options.when - Function that determines when the field is allowed to be null/optional
2336
+ * @returns A new ExOptional instance
2337
+ */
2338
+ static create<T extends ExType<unknown, ExBaseDef, unknown>>(type: T, options?: {
2339
+ /**
2340
+ * Function that determines when the field is allowed to be null/optional.
2341
+ *
2342
+ * @param rowData The row data being validated
2343
+ * @returns true if the field can be null, false if the field is required
2344
+ *
2345
+ * For example, if a field should only be required when another field has a specific value:
2346
+ * ```
2347
+ * when: (row) => row.isEmployed === false // Company is optional when not employed
2348
+ * ```
2349
+ */
2350
+ when?: (rowData: Record<string, unknown>) => boolean;
2351
+ }): ExOptional<T>;
2352
+ /**
2353
+ * Unwraps the optional type to get the inner type
2354
+ *
2355
+ * @returns The inner type
2356
+ */
2357
+ unwrap(): T;
2358
+ /**
2359
+ * Creates an optional version of this type (returns self since already optional)
2360
+ *
2361
+ * @returns This instance (self-reference)
2362
+ */
2363
+ optional(): this;
2364
+ /**
2365
+ * Sets a default value to use when the value is null or undefined
2366
+ *
2367
+ * @param defaultValue - The default value or function that returns the default value
2368
+ * @returns The ExOptional instance for method chaining
2369
+ */
2370
+ default<T1 extends T extends ExType<infer O, ExBaseDef, unknown> ? O | null : never>(defaultValue: T1 | (() => T1 | Promise<T1>)): this;
2371
+ }
2372
+
2373
+ /**
2374
+ * Specialized optional wrapper for boolean fields
2375
+ */
2376
+ declare class ExOptionalBoolean extends ExOptional<ExBoolean> {
2377
+ }
2378
+
2379
+ /**
2380
+ * Specialized optional wrapper for currency number fields
2381
+ */
2382
+ declare class ExOptionalCurrencyNumber extends ExOptional<ExCurrencyNumber> {
2383
+ /**
2384
+ * Validates that the number is greater than or equal to the specified minimum value
2385
+ *
2386
+ * @param value - Minimum allowed value
2387
+ * @param options - Configuration options
2388
+ * @param options.message - Custom error message for validation failures
2389
+ * @returns The instance for method chaining
2390
+ */
2391
+ min(value: number, options?: {
2392
+ message?: string;
2393
+ }): this;
2394
+ /**
2395
+ * Validates that the number is less than or equal to the specified maximum value
2396
+ *
2397
+ * @param value - Maximum allowed value
2398
+ * @param options - Configuration options
2399
+ * @param options.message - Custom error message for validation failures
2400
+ * @returns The instance for method chaining
2401
+ */
2402
+ max(value: number, options?: {
2403
+ message?: string;
2404
+ }): this;
2405
+ /**
2406
+ * Validates that the number is an integer (no decimal places)
2407
+ *
2408
+ * @param options - Configuration options
2409
+ * @param options.message - Custom error message for validation failures
2410
+ * @returns The instance for method chaining
2411
+ */
2412
+ integer(options?: {
2413
+ message?: string;
2414
+ }): this;
2415
+ /**
2416
+ * Validates that the number is a multiple of the specified value
2417
+ *
2418
+ * @param value - The number that the validated value must be a multiple of
2419
+ * @param options - Configuration options
2420
+ * @param options.message - Custom error message for validation failures
2421
+ * @returns The instance for method chaining
2422
+ */
2423
+ multipleOf(value: number, options?: {
2424
+ message?: string;
2425
+ }): this;
2426
+ /**
2427
+ * Updates the currency code for this optional currency number
2428
+ * This allows chaining multiple currency() calls with "last call wins" behavior
2429
+ *
2430
+ * @param currencyCode - ISO 4217 currency code (e.g., 'USD', 'EUR', 'JPY')
2431
+ * @returns The instance for method chaining
2432
+ */
2433
+ currency(currencyCode: CurrencyCode): this;
2434
+ }
2435
+
2436
+ /**
2437
+ * Specialized optional wrapper for date fields
2438
+ */
2439
+ declare class ExOptionalDate extends ExOptional<ExDate> {
2440
+ /**
2441
+ * Specifies the output format for the date
2442
+ *
2443
+ * @param template - The format template
2444
+ * @returns The instance for method chaining
2445
+ */
2446
+ output(template: string): this;
2447
+ }
2448
+
2449
+ /**
2450
+ * Specialized optional wrapper for datetime fields
2451
+ */
2452
+ declare class ExOptionalDatetime extends ExOptional<ExDatetime> {
2453
+ /**
2454
+ * Specifies the output format for the datetime
2455
+ *
2456
+ * @param template - The format template
2457
+ * @returns The instance for method chaining
2458
+ */
2459
+ output(template: string): this;
2460
+ }
2461
+
2462
+ declare interface ExOptionalDef<T extends ExType<unknown, ExBaseDef, unknown>> extends PrimitiveExBaseDef {
2463
+ typeName: 'ExOptional';
2464
+ innerType: T;
2465
+ when?: (rowData: Record<string, unknown>) => boolean;
2466
+ checks?: ValidatorCheck[];
2467
+ outputFormat?: string;
2468
+ }
2469
+
2470
+ /**
2471
+ * Specialized optional wrapper for multiselect fields
2472
+ */
2473
+ declare class ExOptionalMultiselect<TValue extends string | number = string | number> extends ExOptional<ExMultiselect<TValue>> {
2474
+ /**
2475
+ * Specifies whether the multiselect options should be case-sensitive
2476
+ *
2477
+ * @param enabled - Whether case sensitivity is enabled
2478
+ * @returns The instance for method chaining
2479
+ */
2480
+ caseSensitive(enabled?: boolean): this;
2481
+ /**
2482
+ * Sets minimum number of selections required
2483
+ *
2484
+ * @param min - Minimum number of selections
2485
+ * @param message - Custom error message for minimum validation
2486
+ * @returns The instance for method chaining
2487
+ */
2488
+ min(min: number, message?: string): this;
2489
+ /**
2490
+ * Sets maximum number of selections allowed
2491
+ *
2492
+ * @param max - Maximum number of selections
2493
+ * @param message - Custom error message for maximum validation
2494
+ * @returns The instance for method chaining
2495
+ */
2496
+ max(max: number, message?: string): this;
2497
+ }
2498
+
2499
+ /**
2500
+ * Specialized optional wrapper for number fields
2501
+ */
2502
+ declare class ExOptionalNumber extends ExOptional<ExNumber> {
2503
+ /**
2504
+ * Validates that the number is greater than or equal to the specified minimum value
2505
+ *
2506
+ * @param value - Minimum allowed value
2507
+ * @param options - Configuration options
2508
+ * @param options.message - Custom error message for validation failures
2509
+ * @returns The instance for method chaining
2510
+ */
2511
+ min(value: number, options?: {
2512
+ message?: string;
2513
+ }): this;
2514
+ /**
2515
+ * Validates that the number is less than or equal to the specified maximum value
2516
+ *
2517
+ * @param value - Maximum allowed value
2518
+ * @param options - Configuration options
2519
+ * @param options.message - Custom error message for validation failures
2520
+ * @returns The instance for method chaining
2521
+ */
2522
+ max(value: number, options?: {
2523
+ message?: string;
2524
+ }): this;
2525
+ /**
2526
+ * Validates that the number is an integer (no decimal places)
2527
+ *
2528
+ * @param options - Configuration options
2529
+ * @param options.message - Custom error message for validation failures
2530
+ * @returns The instance for method chaining
2531
+ */
2532
+ integer(options?: {
2533
+ message?: string;
2534
+ }): this;
2535
+ /**
2536
+ * Validates that the number is a multiple of the specified value
2537
+ *
2538
+ * @param value - The number that the validated value must be a multiple of
2539
+ * @param options - Configuration options
2540
+ * @param options.message - Custom error message for validation failures
2541
+ * @returns The instance for method chaining
2542
+ */
2543
+ multipleOf(value: number, options?: {
2544
+ message?: string;
2545
+ }): this;
2546
+ /**
2547
+ * Marks the number as a percentage value
2548
+ *
2549
+ * @returns A specialized percentage number type that cannot be combined with currency
2550
+ */
2551
+ percentage(): ExOptionalPercentageNumber;
2552
+ /**
2553
+ * Marks the number as a currency value, associating it with a specific currency code
2554
+ *
2555
+ * @param currencyCode - ISO 4217 currency code (e.g., 'USD', 'EUR', 'JPY')
2556
+ * @returns A specialized currency number type that cannot be combined with percentage
2557
+ */
2558
+ currency(currencyCode: CurrencyCode): ExOptionalCurrencyNumber;
2559
+ }
2560
+
2561
+ /**
2562
+ * Specialized optional wrapper for percentage number fields
2563
+ */
2564
+ declare class ExOptionalPercentageNumber extends ExOptional<ExPercentageNumber> {
2565
+ /**
2566
+ * Validates that the number is greater than or equal to the specified minimum value
2567
+ *
2568
+ * @param value - Minimum allowed value
2569
+ * @param options - Configuration options
2570
+ * @param options.message - Custom error message for validation failures
2571
+ * @returns The instance for method chaining
2572
+ */
2573
+ min(value: number, options?: {
2574
+ message?: string;
2575
+ }): this;
2576
+ /**
2577
+ * Validates that the number is less than or equal to the specified maximum value
2578
+ *
2579
+ * @param value - Maximum allowed value
2580
+ * @param options - Configuration options
2581
+ * @param options.message - Custom error message for validation failures
2582
+ * @returns The instance for method chaining
2583
+ */
2584
+ max(value: number, options?: {
2585
+ message?: string;
2586
+ }): this;
2587
+ /**
2588
+ * Validates that the number is an integer (no decimal places)
2589
+ *
2590
+ * @param options - Configuration options
2591
+ * @param options.message - Custom error message for validation failures
2592
+ * @returns The instance for method chaining
2593
+ */
2594
+ integer(options?: {
2595
+ message?: string;
2596
+ }): this;
2597
+ /**
2598
+ * Validates that the number is a multiple of the specified value
2599
+ *
2600
+ * @param value - The number that the validated value must be a multiple of
2601
+ * @param options - Configuration options
2602
+ * @param options.message - Custom error message for validation failures
2603
+ * @returns The instance for method chaining
2604
+ */
2605
+ multipleOf(value: number, options?: {
2606
+ message?: string;
2607
+ }): this;
2608
+ }
2609
+
2610
+ declare type ExOptionalPrimitiveType = ExOptionalString | ExOptionalNumber | ExOptionalCurrencyNumber | ExOptionalPercentageNumber | ExOptionalBoolean | ExOptionalDate | ExOptionalDatetime | ExOptionalTime | ExOptionalSelect<string | number> | ExOptionalMultiselect<string | number>;
2611
+
2612
+ /**
2613
+ * Specialized optional wrapper for select fields
2614
+ */
2615
+ declare class ExOptionalSelect<TValue extends string | number = string | number> extends ExOptional<ExSelect<TValue>> {
2616
+ /**
2617
+ * Specifies whether the select options should be case-sensitive
2618
+ *
2619
+ * @param enabled - Whether case sensitivity is enabled
2620
+ * @returns The instance for method chaining
2621
+ */
2622
+ caseSensitive(enabled?: boolean): this;
2623
+ }
2624
+
2625
+ declare class ExOptionalString extends ExOptional<ExString> {
2626
+ /**
2627
+ * Validates that the string is a valid UUID
2628
+ *
2629
+ * @param options - Configuration options
2630
+ * @param options.version - The specific UUID version to validate against
2631
+ * @param options.message - Custom error message for validation failures
2632
+ * @returns The instance for method chaining
2633
+ */
2634
+ uuid(options?: {
2635
+ version?: UUIDVersion;
2636
+ message?: string;
2637
+ }): this;
2638
+ /**
2639
+ * Validates that the string is a valid IP address
2640
+ *
2641
+ * @param options - Configuration options
2642
+ * @param options.version - Specific IP version to validate against
2643
+ * @param options.message - Custom error message for validation failures
2644
+ * @returns The instance for method chaining
2645
+ */
2646
+ ip(options?: {
2647
+ version?: IPAddressVersion;
2648
+ message?: string;
2649
+ }): this;
2650
+ /**
2651
+ * Validates that the string is a valid URL
2652
+ *
2653
+ * @param options - Configuration options
2654
+ * @returns The instance for method chaining
2655
+ */
2656
+ url(options?: URLOptions): this;
2657
+ /**
2658
+ * Validates that the string is a valid email address
2659
+ *
2660
+ * @param options - Configuration options
2661
+ * @param options.message - Custom error message for validation failures
2662
+ * @returns The instance for method chaining
2663
+ */
2664
+ email(options?: {
2665
+ message?: string;
2666
+ }): this;
2667
+ /**
2668
+ * Validates that the string is a valid phone number
2669
+ *
2670
+ * @param options - Configuration options
2671
+ * @returns The instance for method chaining
2672
+ */
2673
+ phone(options?: PhoneOptions): this;
2674
+ /**
2675
+ * Validates that the string is a valid country code
2676
+ *
2677
+ * @param options - Configuration options
2678
+ * @returns The instance for method chaining
2679
+ */
2680
+ country(options?: CountryOptions): this;
2681
+ /**
2682
+ * Validates that the string does not exceed the specified maximum length
2683
+ *
2684
+ * @param maxLength - Maximum allowed length
2685
+ * @param options - Configuration options
2686
+ * @param options.message - Custom error message for validation failures
2687
+ * @returns The instance for method chaining
2688
+ */
2689
+ max(maxLength: number, options?: {
2690
+ message?: string;
2691
+ }): this;
2692
+ /**
2693
+ * Validates that the string meets or exceeds the specified minimum length
2694
+ *
2695
+ * @param minLength - Minimum allowed length
2696
+ * @param options - Configuration options
2697
+ * @param options.message - Custom error message for validation failures
2698
+ * @returns The instance for method chaining
2699
+ */
2700
+ min(minLength: number, options?: {
2701
+ message?: string;
2702
+ }): this;
2703
+ /**
2704
+ * Validates that the string is exactly the specified length
2705
+ *
2706
+ * @param exactLength - Exact required length
2707
+ * @param options - Configuration options
2708
+ * @param options.message - Custom error message for validation failures
2709
+ * @returns The instance for method chaining
2710
+ */
2711
+ length(exactLength: number, options?: {
2712
+ message?: string;
2713
+ }): this;
2714
+ /**
2715
+ * Validates that the string includes the specified substring
2716
+ *
2717
+ * @param substring - The substring that must be included
2718
+ * @param options - Configuration options
2719
+ * @param options.message - Custom error message for validation failures
2720
+ * @returns The instance for method chaining
2721
+ */
2722
+ includes(substring: string, options?: {
2723
+ message?: string;
2724
+ }): this;
2725
+ /**
2726
+ * Validates that the string starts with the specified prefix
2727
+ *
2728
+ * @param prefix - The required starting prefix
2729
+ * @param options - Configuration options
2730
+ * @param options.message - Custom error message for validation failures
2731
+ * @returns The instance for method chaining
2732
+ */
2733
+ startsWith(prefix: string, options?: {
2734
+ message?: string;
2735
+ }): this;
2736
+ /**
2737
+ * Validates that the string ends with the specified suffix
2738
+ *
2739
+ * @param suffix - The required ending suffix
2740
+ * @param options - Configuration options
2741
+ * @param options.message - Custom error message for validation failures
2742
+ * @returns The instance for method chaining
2743
+ */
2744
+ endsWith(suffix: string, options?: {
2745
+ message?: string;
2746
+ }): this;
2747
+ /**
2748
+ * Validates that the string matches the specified regular expression pattern
2749
+ *
2750
+ * @param pattern - The regex pattern to match against
2751
+ * @param options - Configuration options
2752
+ * @param options.message - Custom error message for validation failures
2753
+ * @returns The instance for method chaining
2754
+ */
2755
+ regex(pattern: RegExp, options?: {
2756
+ message?: string;
2757
+ }): this;
2758
+ /**
2759
+ * Validates that the string contains only alphabetical characters
2760
+ *
2761
+ * @param options - Configuration options
2762
+ * @param options.message - Custom error message for validation failures
2763
+ * @returns The instance for method chaining
2764
+ */
2765
+ alphabetical(options?: {
2766
+ message?: string;
2767
+ }): this;
2768
+ /**
2769
+ * Validates that the string contains only alphanumerical characters
2770
+ *
2771
+ * @param options - Configuration options
2772
+ * @param options.message - Custom error message for validation failures
2773
+ * @returns The instance for method chaining
2774
+ */
2775
+ alphanumerical(options?: {
2776
+ message?: string;
2777
+ }): this;
2778
+ /**
2779
+ * Validates that the string contains only numerical characters
2780
+ *
2781
+ * @param options - Configuration options
2782
+ * @param options.message - Custom error message for validation failures
2783
+ * @returns The instance for method chaining
2784
+ */
2785
+ numerical(options?: {
2786
+ message?: string;
2787
+ }): this;
2788
+ /**
2789
+ * Validates that the string is a valid IBAN (International Bank Account Number)
2790
+ *
2791
+ * @param options - Configuration options
2792
+ * @returns The instance for method chaining
2793
+ */
2794
+ iban(options?: IbanOptions): this;
2795
+ /**
2796
+ * Validates that the string is a valid BIC (Bank Identifier Code)
2797
+ *
2798
+ * @param options - Configuration options
2799
+ * @returns The instance for method chaining
2800
+ */
2801
+ bic(options?: BICOptions): this;
2802
+ /**
2803
+ * Validates that the string is a valid GTIN (Global Trade Item Number)
2804
+ *
2805
+ * @param options - Configuration options
2806
+ * @returns The instance for method chaining
2807
+ */
2808
+ gtin(options?: GTINOptions): this;
2809
+ /**
2810
+ * Validates that the string is a valid currency code
2811
+ *
2812
+ * @param options - Configuration options
2813
+ * @returns The instance for method chaining
2814
+ */
2815
+ currencyCode(options?: CurrencyCodeOptions): this;
2816
+ }
2817
+
2818
+ /**
2819
+ * Specialized optional wrapper for time fields
2820
+ */
2821
+ declare class ExOptionalTime extends ExOptional<ExTime> {
2822
+ /**
2823
+ * Specifies the decimal precision for the time field
2824
+ *
2825
+ * @param precision - The number of decimal places
2826
+ * @param options - Configuration options
2827
+ * @param options.message - Custom error message for validation failures
2828
+ * @returns The instance for method chaining
2829
+ */
2830
+ precision(precision: number, options?: {
2831
+ message?: string;
2832
+ }): this;
2833
+ }
2834
+
2835
+ declare class ExPercentageNumber extends ExNumberBase<ExPercentageNumber> {
2836
+ /**
2837
+ * Creates an optional version of this type
2838
+ *
2839
+ * @returns An optional version of this type
2840
+ */
2841
+ optional(): ExOptionalPercentageNumber;
2842
+ }
2843
+
2844
+ declare interface ExpressCSVLocale {
2845
+ general: {
2846
+ cancel: string;
2847
+ back: string;
2848
+ next: string;
2849
+ finish: string;
2850
+ required: string;
2851
+ optional: string;
2852
+ matched: string;
2853
+ unmatched: string;
2854
+ custom: string;
2855
+ };
2856
+ widget: {
2857
+ title: string;
2858
+ loading: string;
2859
+ closeConfirmTitle: string;
2860
+ closeConfirmDescription: string;
2861
+ closeConfirmCancel: string;
2862
+ closeConfirmContinue: string;
2863
+ errorTitle: string;
2864
+ startOver: string;
2865
+ invalidPublishableKey: string;
2866
+ };
2867
+ sessionRecovery: {
2868
+ message: string;
2869
+ discard: string;
2870
+ resume: string;
2871
+ };
2872
+ dropzone: {
2873
+ ariaLabel: string;
2874
+ clearAriaLabel: string;
2875
+ clearTooltip: string;
2876
+ clearConfirmTitle: string;
2877
+ clearConfirmDescription: string;
2878
+ processing: string;
2879
+ restoredSession: string;
2880
+ prompt: string;
2881
+ or: string;
2882
+ browse: string;
2883
+ };
2884
+ upload: {
2885
+ expectedColumns: string;
2886
+ templatePrompt: string;
2887
+ templateCSV: string;
2888
+ templateXLSX: string;
2889
+ templateGenerating: string;
2890
+ /** Available: {format} */
2891
+ templateDownloadFormat: TemplateString<'format'>;
2892
+ templateDownload: string;
2893
+ };
2894
+ selectSheet: {
2895
+ title: string;
2896
+ subtitle: string;
2897
+ noWorksheets: string;
2898
+ preview: string;
2899
+ /** Available: {count} */
2900
+ columnCount: TemplateString<'count'>;
2901
+ /** Available: {count} */
2902
+ rowCount: TemplateString<'count'>;
2903
+ /** Available: {name} */
2904
+ inSheet: TemplateString<'name'>;
2905
+ sheetSelected: string;
2906
+ noColumns: string;
2907
+ needsMoreRows: string;
2908
+ };
2909
+ selectHeader: {
2910
+ loading: string;
2911
+ noData: string;
2912
+ noDataDescription: string;
2913
+ title: string;
2914
+ subtitle: string;
2915
+ validHeader: string;
2916
+ /** Available: {count} */
2917
+ emptyColumns: TemplateString<'count'>;
2918
+ allColumnsEmpty: string;
2919
+ emptyColumnsTooltip: string;
2920
+ /** Available: {displayed}, {total} */
2921
+ showingRows: TemplateString<'displayed' | 'total'>;
2922
+ showAll: string;
2923
+ moveUp: string;
2924
+ moveDown: string;
2925
+ };
2926
+ matchColumns: {
2927
+ loading: string;
2928
+ autoMatching: string;
2929
+ title: string;
2930
+ subtitle: string;
2931
+ csvColumnHeader: string;
2932
+ matchFieldHeader: string;
2933
+ selectFieldPlaceholder: string;
2934
+ searchFieldsPlaceholder: string;
2935
+ noFieldsFound: string;
2936
+ unmatchAll: string;
2937
+ unmatchAllConfirmTitle: string;
2938
+ unmatchAllConfirmDescription: string;
2939
+ allRequiredMatched: string;
2940
+ /** Available: {count} */
2941
+ matchingConflicts: TemplateString<'count'>;
2942
+ validationIssuesFound: string;
2943
+ goToNextConflict: string;
2944
+ /** Available: {count} */
2945
+ unmatchedRequiredFields: TemplateString<'count'>;
2946
+ requiredFieldsNotMatched: string;
2947
+ goToUnmatchedFields: string;
2948
+ /** Available: {count} */
2949
+ validationIssues: TemplateString<'count'>;
2950
+ goToNextIssue: string;
2951
+ addEmptyColumnsForRequired: string;
2952
+ /** Available: {fieldName} */
2953
+ createEmptyColumn: TemplateString<'fieldName'>;
2954
+ requiredFieldsNotAssigned: string;
2955
+ addEmptyColumnTooltip: string;
2956
+ previewTooltip: string;
2957
+ /** Available: {rowCount}, {columnName} */
2958
+ previewShowing: TemplateString<'rowCount' | 'columnName'>;
2959
+ };
2960
+ matchOptions: {
2961
+ loading: string;
2962
+ title: string;
2963
+ subtitle: string;
2964
+ csvValueHeader: string;
2965
+ matchOptionHeader: string;
2966
+ selectOptionPlaceholder: string;
2967
+ searchOptionsPlaceholder: string;
2968
+ noOptionsFound: string;
2969
+ optionalBadge: string;
2970
+ customValuesHint: string;
2971
+ /** Available: {count}, {remaining} */
2972
+ showMore: TemplateString<'count' | 'remaining'>;
2973
+ /** Available: {value} */
2974
+ useCustomValue: TemplateString<'value'>;
2975
+ allValuesMatched: string;
2976
+ /** Available: {count} */
2977
+ unmatchedValues: TemplateString<'count'>;
2978
+ unmatchedValuesFound: string;
2979
+ goToNextUnmatched: string;
2980
+ /** Available: {count} */
2981
+ valueCount: TemplateString<'count'>;
2982
+ };
2983
+ review: {
2984
+ completing: string;
2985
+ loading: string;
2986
+ title: string;
2987
+ subtitle: string;
2988
+ validating: string;
2989
+ noRecords: string;
2990
+ validatingCells: string;
2991
+ /** Available: {count} */
2992
+ allRecordsValid: TemplateString<'count'>;
2993
+ /** Available: {count} */
2994
+ recordCount: TemplateString<'count'>;
2995
+ filterAll: string;
2996
+ filterValid: string;
2997
+ filterInvalid: string;
2998
+ clearFilters: string;
2999
+ noInvalidRows: string;
3000
+ applyAutofix: string;
3001
+ invalidValue: string;
3002
+ undo: string;
3003
+ redo: string;
3004
+ /** Available: {count} */
3005
+ autofixCount: TemplateString<'count'>;
3006
+ /** Available: {count} */
3007
+ applyAllAutofixes: TemplateString<'count'>;
3008
+ /** Available: {description}, {count} */
3009
+ autofixItem: TemplateString<'description' | 'count'>;
3010
+ filter: string;
3011
+ actions: string;
3012
+ addRecord: string;
3013
+ /** Available: {count} */
3014
+ deleteSelectedRecords: TemplateString<'count'>;
3015
+ /** Available: {count} */
3016
+ exportSelectedRecords: TemplateString<'count'>;
3017
+ /** Available: {count} */
3018
+ exportFilteredRecords: TemplateString<'count'>;
3019
+ /** Available: {count} */
3020
+ exportAllRecords: TemplateString<'count'>;
3021
+ exportCSV: string;
3022
+ exportXLSX: string;
3023
+ sortAZ: string;
3024
+ sortZA: string;
3025
+ sortLowHigh: string;
3026
+ sortHighLow: string;
3027
+ sortOldestNewest: string;
3028
+ sortNewestOldest: string;
3029
+ sortEarlyLate: string;
3030
+ sortLateEarly: string;
3031
+ sortFalseTrue: string;
3032
+ sortTrueFalse: string;
3033
+ sortAscending: string;
3034
+ sortDescending: string;
3035
+ removeSort: string;
3036
+ unpinColumn: string;
3037
+ pinColumn: string;
3038
+ clearColumn: string;
3039
+ /** Available: {description} */
3040
+ columnAutofix: TemplateString<'description'>;
3041
+ applyAllColumnAutofixes: string;
3042
+ removeFilter: string;
3043
+ columnMenu: string;
3044
+ emptyDataTitle: string;
3045
+ emptyDataDescription: string;
3046
+ editFilter: string;
3047
+ filteredColumns: string;
3048
+ unfilteredColumns: string;
3049
+ columnsLabel: string;
3050
+ transformTooltip: string;
3051
+ transformTitle: string;
3052
+ transformClose: string;
3053
+ transformCloseDiscardTooltip: string;
3054
+ transformCloseTooltip: string;
3055
+ transformError: string;
3056
+ transformPlaceholder: string;
3057
+ transformGenerating: string;
3058
+ transformApplying: string;
3059
+ transformDiscard: string;
3060
+ transformApply: string;
3061
+ transformUnappliedTitle: string;
3062
+ transformUnappliedDescription: string;
3063
+ transformKeepEditing: string;
3064
+ transformDiscardClose: string;
3065
+ transformAbortTitle: string;
3066
+ transformAbortDescription: string;
3067
+ transformAbortClose: string;
3068
+ transformSubmit: string;
3069
+ };
3070
+ phantomColumn: {
3071
+ /** Available: {number} */
3072
+ defaultName: TemplateString<'number'>;
3073
+ remove: string;
3074
+ removeTooltip: string;
3075
+ };
3076
+ validation: {
3077
+ showOtherMatch: string;
3078
+ };
3079
+ status: {
3080
+ successTitle: string;
3081
+ successDescription: string;
3082
+ errorTitle: string;
3083
+ errorDescription: string;
3084
+ close: string;
3085
+ };
3086
+ steps: {
3087
+ upload: string;
3088
+ selectSheet: string;
3089
+ selectHeader: string;
3090
+ matchColumns: string;
3091
+ matchOptions: string;
3092
+ review: string;
3093
+ /** Available: {currentStep}, {totalSteps} */
3094
+ progress: TemplateString<'currentStep' | 'totalSteps'>;
3095
+ };
3096
+ }
3097
+
3098
+ /** User-facing locale type where every leaf is a plain `string`. */
3099
+ export declare type ExpressCSVLocaleInput = StripBrand<ExpressCSVLocale>;
3100
+
3101
+ /**
3102
+ * Core step identifiers for the CSV import wizard
3103
+ */
3104
+ export declare type ExpressCSVStep = 'upload' | 'select-sheet' | 'select-header' | 'match-columns' | 'match-options' | 'review';
3105
+
3106
+ declare type ExPrimitiveType = ExString | ExNumber | ExCurrencyNumber | ExPercentageNumber | ExBoolean | ExDate | ExTime | ExDatetime | ExSelect<string | number> | ExMultiselect<string | number> | ExOptionalPrimitiveType;
3107
+
3108
+ declare class ExRow<T extends ExRowShape> extends ExType<{
3109
+ [K in keyof T]: T[K] extends ExType<infer O, ExBaseDef, unknown> ? K extends string ? T['optionalColumnConfig'] extends {
3110
+ columns: Array<infer C>;
3111
+ } ? C extends K ? O | null : O : O : O : never;
3112
+ }, ExRowDef<T>> {
3113
+ /**
3114
+ * Factory method to create an ExRow validator for a row of data
3115
+ *
3116
+ * @param shape - Object defining the structure of fields in the row
3117
+ * @returns A new ExRow instance
3118
+ */
3119
+ static create<T extends ExRowShape>(shape: T): ExRow<T>;
3120
+ /**
3121
+ * Specifies columns that can be null/optional with conditional logic
3122
+ *
3123
+ * @param columns - Array of column keys to make optional
3124
+ * @param options - Configuration options
3125
+ * @param options.when - Optional function to determine when columns should be optional
3126
+ * @returns The ExRow instance with optional columns configuration
3127
+ */
3128
+ optionalColumns<K extends keyof T>(columns: K[], options?: {
3129
+ when?: (row: {
3130
+ [P in keyof T]: T[P] extends ExType<infer O, ExBaseDef, unknown> ? O : never;
3131
+ }) => boolean | Promise<boolean>;
3132
+ }): ExRowWithOptionalColumns<T, K>;
3133
+ /**
3134
+ * Specifies unique constraints on columns in the row
3135
+ *
3136
+ * @param columns - Array of column keys or a single column key that form the unique constraint
3137
+ * @param options - Configuration options
3138
+ * @param options.key - Optional function to generate a unique key from column values
3139
+ * @returns The ExRow instance for method chaining
3140
+ */
3141
+ unique<K extends keyof T>(columns: K[] | K, options?: {
3142
+ key?: (values: {
3143
+ [P in K]: T[P] extends ExType<infer O, ExBaseDef, unknown> ? O | null : never;
3144
+ }) => string | Promise<string>;
3145
+ }): this;
3146
+ /**
3147
+ * Adds metadata to the row definition
3148
+ *
3149
+ * @param metadata - Metadata object
3150
+ * @param metadata.description - Optional description of the row
3151
+ * @returns The ExRow instance for method chaining
3152
+ */
3153
+ meta(metadata: {
3154
+ description?: string;
3155
+ }): this;
3156
+ /**
3157
+ * Sets the minimum number of rows required
3158
+ *
3159
+ * @param count - Minimum number of rows (must be a non-negative integer)
3160
+ * @returns The ExRow instance for method chaining
3161
+ */
3162
+ minRows(count: number): this;
3163
+ /**
3164
+ * Sets the maximum number of rows allowed
3165
+ *
3166
+ * @param count - Maximum number of rows (must be a positive integer)
3167
+ * @returns The ExRow instance for method chaining
3168
+ */
3169
+ maxRows(count: number): this;
3170
+ }
3171
+
3172
+ declare interface ExRowDef<T extends ExRowShape> extends ExBaseDef {
3173
+ typeName: 'ExRow';
3174
+ shape: T;
3175
+ meta?: {
3176
+ description?: string;
3177
+ };
3178
+ rowCountConfig?: {
3179
+ minRows?: number;
3180
+ maxRows?: number;
3181
+ };
3182
+ optionalColumnConfig?: {
3183
+ columns: Array<keyof T>;
3184
+ when?: (row: {
3185
+ [K in keyof T]: T[K] extends ExType<infer O, ExBaseDef, unknown> ? O : never;
3186
+ }) => boolean | Promise<boolean>;
3187
+ whenMap?: Record<string, (row: {
3188
+ [K in keyof T]: T[K] extends ExType<infer O, ExBaseDef, unknown> ? O : never;
3189
+ }) => boolean | Promise<boolean>>;
3190
+ };
3191
+ uniqueColumnConfig?: {
3192
+ uniqueConstraints: Array<{
3193
+ id: string;
3194
+ columns: Array<keyof T>;
3195
+ key?: (values: {
3196
+ [K in keyof T]: T[K] extends ExType<infer O, ExBaseDef, unknown> ? O | null : never;
3197
+ }) => string | Promise<string>;
3198
+ }>;
3199
+ };
3200
+ }
3201
+
3202
+ declare type ExRowShape = Record<string, ExPrimitiveType>;
3203
+
3204
+ declare type ExRowWithOptionalColumns<T extends ExRowShape, K extends keyof T> = ExType<{
3205
+ [P in keyof T]: P extends K ? T[P] extends ExType<infer O, ExBaseDef, unknown> ? O | null : never : T[P] extends ExType<infer O, ExBaseDef, unknown> ? O : never;
3206
+ }, ExRowDef<T>> & {
3207
+ optionalColumns<J extends keyof T>(columns: J[], options?: {
3208
+ when?: (row: {
3209
+ [P in keyof T]: T[P] extends ExType<infer O, ExBaseDef, unknown> ? O : never;
3210
+ }) => boolean | Promise<boolean>;
3211
+ }): ExRowWithOptionalColumns<T, J | K>;
3212
+ unique<J extends keyof T>(columns: J[] | J, options?: {
3213
+ key?: (values: {
3214
+ [P in J]: T[P] extends ExType<infer O, ExBaseDef, unknown> ? O | null : never;
3215
+ }) => string | Promise<string>;
3216
+ }): ExRowWithOptionalColumns<T, K>;
3217
+ meta(metadata: {
3218
+ description?: string;
3219
+ }): ExRowWithOptionalColumns<T, K>;
3220
+ minRows(count: number): ExRowWithOptionalColumns<T, K>;
3221
+ maxRows(count: number): ExRowWithOptionalColumns<T, K>;
3222
+ };
3223
+
3224
+ declare class ExSelect<TValue extends string | number = string | number> extends PrimitiveExType<TValue, ExSelectDef<TValue>> {
3225
+ /**
3226
+ * Factory method to create an ExSelect validator for single selection
3227
+ *
3228
+ * @param options - Array of select options with labels and values
3229
+ * @param config - Configuration options
3230
+ * @param config.enforceCaseSensitiveMatch - Whether to enforce case-sensitive matching
3231
+ * @param config.allowCustom - When true, allows custom values not in the options list
3232
+ * @param config.message - Custom error message for validation failures
3233
+ * @returns A new ExSelect instance
3234
+ */
3235
+ static create<const T extends readonly (SelectOption & {
3236
+ value: string | number;
3237
+ })[], TAllowCustom extends boolean = false>(options: T, config?: SelectOptions & {
3238
+ allowCustom?: TAllowCustom;
3239
+ }): TAllowCustom extends true ? ExSelect<string | number> : ExSelect<T[number]['value']>;
3240
+ /**
3241
+ * Creates an optional version of this select type
3242
+ *
3243
+ * @returns An optional version of this select type
3244
+ */
3245
+ optional(): ExOptionalSelect<TValue>;
3246
+ /**
3247
+ * Sets case sensitive matching for option values
3248
+ *
3249
+ * @param enabled - Whether to enable case-sensitive matching
3250
+ * @returns The ExSelect instance for method chaining
3251
+ */
3252
+ caseSensitive(enabled?: boolean): this;
3253
+ }
3254
+
3255
+ declare interface ExSelectDef<TValue extends string | number = string | number> extends PrimitiveExBaseDef {
3256
+ typeName: 'ExSelect';
3257
+ options: SelectOption<TValue>[];
3258
+ config: {
3259
+ enforceCaseSensitiveMatch: boolean;
3260
+ allowCustom?: boolean;
3261
+ };
3262
+ checks: ValidatorCheck[];
3263
+ _value?: TValue;
3264
+ message?: string;
3265
+ }
3266
+
3267
+ declare class ExString extends PrimitiveExType<string, ExStringDef> {
3268
+ /**
3269
+ * Factory method to create an ExString validator
3270
+ *
3271
+ * @param options - Configuration options
3272
+ * @param options.message - Optional custom error message for validation failures
3273
+ * @returns A new ExString instance
3274
+ */
3275
+ static create(options?: {
3276
+ message?: string;
3277
+ }): ExString;
3278
+ /**
3279
+ * Creates an optional version of this type
3280
+ *
3281
+ * @returns An optional version of this type
3282
+ */
3283
+ optional(): ExOptionalString;
3284
+ /**
3285
+ * Validates that the string is a valid UUID
3286
+ *
3287
+ * @param options - Configuration options
3288
+ * @param options.version - UUID version to validate against ('v1', 'v4', 'v5', 'all')
3289
+ * @param options.message - Custom error message for validation failures
3290
+ * @returns The ExString instance for method chaining
3291
+ */
3292
+ uuid(options?: {
3293
+ version?: UUIDVersion;
3294
+ message?: string;
3295
+ }): this;
3296
+ /**
3297
+ * Validates that the string is a valid IP address
3298
+ *
3299
+ * @param options - Configuration options
3300
+ * @param options.version - IP version to validate against ('v4', 'v6', 'all')
3301
+ * @param options.message - Custom error message for validation failures
3302
+ * @returns The ExString instance for method chaining
3303
+ */
3304
+ ip(options?: {
3305
+ version?: IPAddressVersion;
3306
+ message?: string;
3307
+ }): this;
3308
+ /**
3309
+ * Validates that the string is a valid URL
3310
+ *
3311
+ * @param options - Configuration options for URL validation
3312
+ * @param options.allowedProtocols - List of allowed protocols
3313
+ * @param options.allowedDomains - List of allowed domains
3314
+ * @param options.allowSubdomains - Whether to allow subdomains
3315
+ * @param options.allowPaths - Whether to allow paths
3316
+ * @param options.allowQueryParams - Whether to allow query parameters
3317
+ * @param options.message - Custom error message
3318
+ * @returns The ExString instance for method chaining
3319
+ */
3320
+ url(options?: URLOptions): this;
3321
+ /**
3322
+ * Validates that the string is a valid email address
3323
+ *
3324
+ * @param options - Configuration options
3325
+ * @param options.message - Custom error message for validation failures
3326
+ * @returns The ExString instance for method chaining
3327
+ */
3328
+ email(options?: {
3329
+ message?: string;
3330
+ }): this;
3331
+ /**
3332
+ * Validates that the string is a valid phone number
3333
+ *
3334
+ * @param options - Configuration options for phone validation
3335
+ * @param options.allowedCountries - Array of ISO 3166-1 alpha-2 country codes (e.g., ["US", "FR"])
3336
+ * @param options.format - The expected input format ("international", "national", or "both")
3337
+ * @param options.output - How the phone number should be normalized ("e164", "formatted", or "digits")
3338
+ * @param options.message - Custom error message
3339
+ * @returns The ExString instance for method chaining
3340
+ */
3341
+ phone(options?: PhoneOptions): this;
3342
+ /**
3343
+ * Validates that the string represents a valid country
3344
+ *
3345
+ * @param options - Configuration options for country validation
3346
+ * @param options.output - The format to output the country ("name", "2-letter", or "3-letter")
3347
+ * @param options.message - Custom error message
3348
+ * @returns The ExString instance for method chaining
3349
+ */
3350
+ country(options?: CountryOptions): this;
3351
+ /**
3352
+ * Validates that the string length is at most maxLength
3353
+ *
3354
+ * @param maxLength - Maximum allowed length
3355
+ * @param options - Configuration options
3356
+ * @param options.message - Custom error message for validation failures
3357
+ * @returns The ExString instance for method chaining
3358
+ */
3359
+ max(maxLength: number, options?: {
3360
+ message?: string;
3361
+ }): this;
3362
+ /**
3363
+ * Validates that the string length is at least minLength
3364
+ *
3365
+ * @param minLength - Minimum allowed length
3366
+ * @param options - Configuration options
3367
+ * @param options.message - Custom error message for validation failures
3368
+ * @returns The ExString instance for method chaining
3369
+ */
3370
+ min(minLength: number, options?: {
3371
+ message?: string;
3372
+ }): this;
3373
+ /**
3374
+ * Validates that the string has exactly the specified length
3375
+ *
3376
+ * @param exactLength - Required exact length
3377
+ * @param options - Configuration options
3378
+ * @param options.message - Custom error message for validation failures
3379
+ * @returns The ExString instance for method chaining
3380
+ */
3381
+ length(exactLength: number, options?: {
3382
+ message?: string;
3383
+ }): this;
3384
+ /**
3385
+ * Validates that the string includes the specified substring
3386
+ *
3387
+ * @param substring - Substring that must be included
3388
+ * @param options - Configuration options
3389
+ * @param options.message - Custom error message for validation failures
3390
+ * @returns The ExString instance for method chaining
3391
+ */
3392
+ includes(substring: string, options?: {
3393
+ message?: string;
3394
+ }): this;
3395
+ /**
3396
+ * Validates that the string starts with the specified prefix
3397
+ *
3398
+ * @param prefix - Required starting prefix
3399
+ * @param options - Configuration options
3400
+ * @param options.message - Custom error message for validation failures
3401
+ * @returns The ExString instance for method chaining
3402
+ */
3403
+ startsWith(prefix: string, options?: {
3404
+ message?: string;
3405
+ }): this;
3406
+ /**
3407
+ * Validates that the string ends with the specified suffix
3408
+ *
3409
+ * @param suffix - Required ending suffix
3410
+ * @param options - Configuration options
3411
+ * @param options.message - Custom error message for validation failures
3412
+ * @returns The ExString instance for method chaining
3413
+ */
3414
+ endsWith(suffix: string, options?: {
3415
+ message?: string;
3416
+ }): this;
3417
+ /**
3418
+ * Validates that the string matches the specified regular expression
3419
+ *
3420
+ * @param pattern - Regular expression pattern to match
3421
+ * @param options - Configuration options
3422
+ * @param options.message - Custom error message for validation failures
3423
+ * @returns The ExString instance for method chaining
3424
+ */
3425
+ regex(pattern: RegExp, options?: {
3426
+ message?: string;
3427
+ }): this;
3428
+ /**
3429
+ * Validates that the string contains only alphabetical characters
3430
+ *
3431
+ * @param options - Configuration options
3432
+ * @param options.message - Custom error message for validation failures
3433
+ * @returns The ExString instance for method chaining
3434
+ */
3435
+ alphabetical(options?: {
3436
+ message?: string;
3437
+ }): this;
3438
+ /**
3439
+ * Validates that the string contains only alphanumeric characters
3440
+ *
3441
+ * @param options - Configuration options
3442
+ * @param options.message - Custom error message for validation failures
3443
+ * @returns The ExString instance for method chaining
3444
+ */
3445
+ alphanumerical(options?: {
3446
+ message?: string;
3447
+ }): this;
3448
+ /**
3449
+ * Validates that the string represents a numeric value
3450
+ *
3451
+ * @param options - Configuration options
3452
+ * @param options.message - Custom error message for validation failures
3453
+ * @returns The ExString instance for method chaining
3454
+ */
3455
+ numerical(options?: {
3456
+ message?: string;
3457
+ }): this;
3458
+ /**
3459
+ * Validates that the string is a valid IBAN (International Bank Account Number)
3460
+ *
3461
+ * @param options - Configuration options for IBAN validation
3462
+ * @param options.allowedCountries - Array of country codes to restrict validation to (e.g., ["DE", "FR"])
3463
+ * @param options.message - Custom error message
3464
+ * @returns The ExString instance for method chaining
3465
+ */
3466
+ iban(options?: IbanOptions): this;
3467
+ /**
3468
+ * Validates that the string is a valid BIC/SWIFT code
3469
+ *
3470
+ * @param options - Configuration options for BIC validation
3471
+ * @param options.message - Custom error message
3472
+ * @returns The ExString instance for method chaining
3473
+ */
3474
+ bic(options?: BICOptions): this;
3475
+ /**
3476
+ * Validates that the string is a valid GTIN (Global Trade Item Number)
3477
+ * Supports GTIN-8, GTIN-12, GTIN-13, or GTIN-14 formats
3478
+ *
3479
+ * @param options - Configuration options for GTIN validation
3480
+ * @param options.message - Custom error message
3481
+ * @returns The ExString instance for method chaining
3482
+ */
3483
+ gtin(options?: GTINOptions): this;
3484
+ /**
3485
+ * Validates that the string is a valid ISO 4217 currency code
3486
+ *
3487
+ * @param options - Configuration options for currency code validation
3488
+ * @param options.allowedCurrencies - Array of specific currency codes to limit validation to
3489
+ * @param options.message - Custom error message
3490
+ * @returns The ExString instance for method chaining
3491
+ */
3492
+ currencyCode(options?: CurrencyCodeOptions): this;
3493
+ }
3494
+
3495
+ declare interface ExStringDef extends PrimitiveExBaseDef {
3496
+ typeName: 'ExString';
3497
+ checks: ValidatorCheck[];
3498
+ }
3499
+
3500
+ declare class ExTime extends PrimitiveExType<string, ExTimeDef> {
3501
+ /**
3502
+ * Factory method to create an ExTime validator
3503
+ *
3504
+ * @param options - Configuration options
3505
+ * @param options.message - Optional custom error message for validation failures
3506
+ * @returns A new ExTime instance
3507
+ */
3508
+ static create(options?: TimeOptions): ExTime;
3509
+ /**
3510
+ * Creates an optional version of this type
3511
+ *
3512
+ * @returns An optional version of this type
3513
+ */
3514
+ optional(): ExOptionalTime;
3515
+ /**
3516
+ * Sets precision for milliseconds in the time
3517
+ *
3518
+ * @param precision - Number of millisecond decimal places
3519
+ * @param options - Configuration options
3520
+ * @param options.message - Custom error message for validation failures
3521
+ * @returns The ExTime instance for method chaining
3522
+ */
3523
+ precision(precision: number, options?: {
3524
+ message?: string;
3525
+ }): this;
3526
+ }
3527
+
3528
+ declare interface ExTimeDef extends PrimitiveExBaseDef {
3529
+ typeName: 'ExTime';
3530
+ precision?: number | null;
3531
+ message?: string;
3532
+ checks: ValidatorCheck[];
3533
+ }
3534
+
3535
+ export declare abstract class ExType<Output, Def extends ExBaseDef, Input = Output> {
3536
+ _def: Def;
3537
+ _output: Output;
3538
+ _input: Input;
3539
+ /**
3540
+ * Creates a new ExType instance
3541
+ *
3542
+ * @param def - Definition object for this type
3543
+ */
3544
+ constructor(def: Def);
3545
+ /**
3546
+ * Protected method to create a validation check
3547
+ *
3548
+ * @param type - Type of check
3549
+ * @param params - Parameters for the check
3550
+ * @param message - Optional error message
3551
+ * @returns A ValidatorCheck object
3552
+ */
3553
+ protected _addCheck(type: string, params?: Record<string, unknown>, message?: string): ValidatorCheck;
3554
+ }
3555
+
3556
+ declare interface GTINOptions {
3557
+ message?: string;
3558
+ }
3559
+
3560
+ declare interface IbanOptions {
3561
+ allowedCountries?: CountryTwoLetterCode[];
3562
+ message?: string;
3563
+ }
3564
+
3565
+ /**
3566
+ * Error thrown when the user cancels the import operation
3567
+ */
3568
+ export declare class ImportCancelledError extends Error {
3569
+ constructor(message?: string);
3570
+ }
3571
+
3572
+ export declare type Infer<T extends ExType<unknown, ExBaseDef, unknown>> = T extends ExType<infer Output, ExBaseDef, unknown> ? Output : never;
3573
+
3574
+ export declare type InferCSVImporter<TSchema extends ExType<unknown, ExBaseDef, unknown>> = CSVImporter<TSchema>;
3575
+
3576
+ declare type IPAddressVersion = 'v4' | 'v6' | 'all';
3577
+
3578
+ declare interface MultiselectOptions {
3579
+ enforceCaseSensitiveMatch?: boolean;
3580
+ message?: string;
3581
+ }
3582
+
3583
+ /**
3584
+ * Options for the open() method
3585
+ * Requires at least one of onData or webhook for delivery
3586
+ */
3587
+ export declare type OpenOptions<T> = RequireAtLeastOne<DeliveryOptionsBase<T>, 'onData' | 'webhook'> & {
3588
+ /** Number of records per chunk (default: 1000) */
3589
+ chunkSize?: number;
3590
+ /** Called when all chunks have been processed */
3591
+ onComplete?: () => void;
3592
+ /** Called when the user cancels the import */
3593
+ onCancel?: () => void;
3594
+ /** Called when an error occurs */
3595
+ onError?: (error: Error) => void;
3596
+ /** Called when the widget opens */
3597
+ onWidgetOpen?: () => void;
3598
+ /** Called when the step changes in the wizard */
3599
+ onStepChange?: (stepId: ExpressCSVStep, previousStepId?: ExpressCSVStep) => void;
3600
+ /** Called when the widget closes */
3601
+ onWidgetClose?: (reason: 'user_close' | 'cancel' | 'complete' | 'error') => void;
3602
+ };
3603
+
3604
+ declare type PhoneNumberFormat = 'international' | 'national' | 'both';
3605
+
3606
+ declare type PhoneNumberOutput = 'e164' | 'formatted' | 'digits';
3607
+
3608
+ declare interface PhoneOptions {
3609
+ allowedCountries?: CountryTwoLetterCode[];
3610
+ format?: PhoneNumberFormat;
3611
+ output?: PhoneNumberOutput;
3612
+ message?: string;
3613
+ }
3614
+
3615
+ declare interface PrimitiveExBaseDef extends ExBaseDef {
3616
+ columnNameAliases?: string[];
3617
+ description?: string;
3618
+ label?: string;
3619
+ example?: string;
3620
+ message?: string;
3621
+ checks?: ValidatorCheck[];
3622
+ defaultValue?: unknown | (() => unknown);
3623
+ }
3624
+
3625
+ declare abstract class PrimitiveExType<Output, Def extends PrimitiveExBaseDef, Input = Output> extends ExType<Output, Def, Input> {
3626
+ /**
3627
+ * Sets column name aliases for this field
3628
+ *
3629
+ * @param aliases - Array of alternative column names that can map to this field
3630
+ * @returns The type instance for method chaining
3631
+ */
3632
+ columnNameAliases(aliases: string[]): this;
3633
+ /**
3634
+ * Sets a description for this field
3635
+ *
3636
+ * @param text - Description text
3637
+ * @returns The type instance for method chaining
3638
+ */
3639
+ description(text: string): this;
3640
+ /**
3641
+ * Sets a display label for this field
3642
+ *
3643
+ * @param text - Label text
3644
+ * @returns The type instance for method chaining
3645
+ */
3646
+ label(text: string): this;
3647
+ /**
3648
+ * Sets an example value for this field
3649
+ *
3650
+ * @param text - Example text
3651
+ * @returns The type instance for method chaining
3652
+ */
3653
+ example(text: string): this;
3654
+ /**
3655
+ * Adds a custom refinement validator to this field.
3656
+ *
3657
+ * Supports two calling styles:
3658
+ * 1. Boolean validator with optional params:
3659
+ * `.refine((value) => value > 0, { message: 'Must be positive' })`
3660
+ * 2. Object-returning validator (like refineBatch for a single value):
3661
+ * `.refine((value) => ({ valid: value > 0, message: 'Must be positive', suggestedFix: {...} }))`
3662
+ *
3663
+ * @param validator - Function or RegExp that validates the data
3664
+ * @param params - Additional parameters or function that returns parameters (only for boolean validators)
3665
+ * @returns The type instance for method chaining
3666
+ */
3667
+ refine<T extends Output>(validator: ((data: NonNullable<T>) => RefineResultItem | Promise<RefineResultItem> | unknown | Promise<unknown>) | RegExp, params?: RefineParams | ((data: NonNullable<T>) => RefineParams)): this;
3668
+ /**
3669
+ * Adds a batch refinement validator that validates all column values at once
3670
+ *
3671
+ * @param validator - Function that receives all values and returns validation results, or RegExp for per-value validation
3672
+ * @param params - Additional parameters including fallback error message
3673
+ * @returns The type instance for method chaining
3674
+ */
3675
+ refineBatch<T extends Output>(validator: ((data: NonNullable<T>[]) => RefineBatchResultItem[] | Promise<RefineBatchResultItem[]>) | RegExp, params?: RefineParams): this;
3676
+ /**
3677
+ * Protected method to find an existing check by type
3678
+ *
3679
+ * @param type - Type of check to find
3680
+ * @returns Object with the check, its index, and whether it was found
3681
+ */
3682
+ protected _findExistingCheck(type: string): {
3683
+ check: ValidatorCheck | undefined;
3684
+ index: number;
3685
+ found: boolean;
3686
+ };
3687
+ /**
3688
+ * Protected method to replace an existing check or add a new one
3689
+ *
3690
+ * @param check - The check to add or replace with
3691
+ * @param existingIndex - Index of existing check, or -1 if none exists
3692
+ */
3693
+ protected _replaceOrAddCheck(check: ValidatorCheck, existingIndex: number): void;
3694
+ }
3695
+
3696
+ declare type Protocol = 'http' | 'https' | 'ftp' | 'sftp' | 'file' | 'mailto' | 'tel';
3697
+
3698
+ /**
3699
+ * A chunk of records passed to the onData callback
3700
+ */
3701
+ export declare interface RecordsChunk<T> {
3702
+ /** The records in this chunk */
3703
+ records: T[];
3704
+ /** Total number of chunks */
3705
+ totalChunks: number;
3706
+ /** Current chunk index (0-based) */
3707
+ currentChunkIndex: number;
3708
+ /** Total number of records across all chunks */
3709
+ totalRecords: number;
3710
+ }
3711
+
3712
+ declare type RefineBatchResultItem = {
3713
+ valid: boolean;
3714
+ message?: string;
3715
+ suggestedFix?: {
3716
+ id: string;
3717
+ value: unknown;
3718
+ description: string;
3719
+ };
3720
+ };
3721
+
3722
+ declare type RefineParams = {
3723
+ message?: string;
3724
+ suggestedFix?: {
3725
+ id: string;
3726
+ value: unknown;
3727
+ description: string;
3728
+ };
3729
+ };
3730
+
3731
+ declare type RefineResultItem = {
3732
+ valid: boolean;
3733
+ message?: string;
3734
+ suggestedFix?: {
3735
+ id: string;
3736
+ value: unknown;
3737
+ description: string;
3738
+ };
3739
+ };
3740
+
3741
+ /**
3742
+ * Type helper that requires at least one of the specified keys to be present
3743
+ */
3744
+ declare type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
3745
+ [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
3746
+ }[Keys];
3747
+
3748
+ export declare interface SDKOptions<TSchema extends ExType<unknown, ExBaseDef, unknown>> {
3749
+ schema: TSchema;
3750
+ publishableKey: string;
3751
+ importIdentifier: string;
3752
+ title?: string;
3753
+ debug?: boolean;
3754
+ preload?: boolean;
3755
+ theme?: ECSVTheme;
3756
+ colorMode?: ColorModePref;
3757
+ customCSS?: string;
3758
+ fonts?: Record<string, ECSVFontSource>;
3759
+ stepDisplay?: 'progressBar' | 'segmented' | 'numbered';
3760
+ previewSchemaBeforeUpload?: boolean;
3761
+ templateDownload?: TemplateDownloadConfig;
3762
+ saveSession?: boolean;
3763
+ locale?: DeepPartial<ExpressCSVLocaleInput>;
3764
+ disableStatusStep?: boolean;
3765
+ }
3766
+
3767
+ declare interface SelectOption<TValue extends string | number = string | number> {
3768
+ label: string;
3769
+ value: TValue;
3770
+ alsoMatches?: (string | RegExp)[];
3771
+ }
3772
+
3773
+ declare interface SelectOptions {
3774
+ enforceCaseSensitiveMatch?: boolean;
3775
+ allowCustom?: boolean;
3776
+ message?: string;
3777
+ }
3778
+
3779
+ declare type StripBrand<T> = {
3780
+ [K in keyof T]: T[K] extends TemplateString<string> ? string : T[K] extends object ? StripBrand<T[K]> : T[K];
3781
+ };
3782
+
3783
+ /**
3784
+ * Tailwind CSS variables for theming
3785
+ * These variables override :root values in globals.css when scoped to .ecsv
3786
+ */
3787
+ export declare interface TailwindThemeVars {
3788
+ radius?: string;
3789
+ background?: string;
3790
+ foreground?: string;
3791
+ card?: string;
3792
+ 'card-foreground'?: string;
3793
+ popover?: string;
3794
+ 'popover-foreground'?: string;
3795
+ primary?: string;
3796
+ 'primary-foreground'?: string;
3797
+ secondary?: string;
3798
+ 'secondary-foreground'?: string;
3799
+ muted?: string;
3800
+ 'muted-foreground'?: string;
3801
+ accent?: string;
3802
+ 'accent-foreground'?: string;
3803
+ destructive?: string;
3804
+ 'destructive-foreground'?: string;
3805
+ success?: string;
3806
+ 'success-foreground'?: string;
3807
+ warning?: string;
3808
+ 'warning-foreground'?: string;
3809
+ border?: string;
3810
+ input?: string;
3811
+ ring?: string;
3812
+ 'font-title'?: string;
3813
+ 'font-body'?: string;
3814
+ }
3815
+
3816
+ /**
3817
+ * Configuration for template download in the upload step.
3818
+ * When `source` is `"generate"`, a header-only template file is created
3819
+ * client-side from the schema column names.
3820
+ */
3821
+ declare interface TemplateDownloadConfig {
3822
+ source: 'generate';
3823
+ formats?: TemplateDownloadFormat[];
3824
+ }
3825
+
3826
+ /**
3827
+ * Template download format
3828
+ */
3829
+ declare type TemplateDownloadFormat = 'csv' | 'xlsx';
3830
+
3831
+ /**
3832
+ * A branded string type for locale entries that require interpolation via `{variable}` syntax.
3833
+ * Widget code cannot render a `TemplateString` directly in JSX — it must go through the `t()` function.
3834
+ * The generic `TVars` encodes the expected variable names so `t()` enforces the correct vars argument.
3835
+ */
3836
+ declare type TemplateString<TVars extends string = string> = string & {
3837
+ readonly __brand: 'TemplateString';
3838
+ readonly __vars: TVars;
3839
+ };
3840
+
3841
+ /**
3842
+ * Time validation options
3843
+ */
3844
+ declare interface TimeOptions {
3845
+ message?: string;
3846
+ }
3847
+
3848
+ declare interface URLOptions {
3849
+ allowedProtocols?: Protocol[];
3850
+ allowedDomains?: string[];
3851
+ allowSubdomains?: boolean;
3852
+ allowPaths?: boolean;
3853
+ allowQueryParams?: boolean;
3854
+ message?: string;
3855
+ }
3856
+
3857
+ declare type UUIDVersion = 'v1' | 'v4' | 'v5' | 'all';
3858
+
3859
+ declare interface ValidatorCheck {
3860
+ type: string;
3861
+ params?: Record<string, unknown>;
3862
+ message?: string;
3863
+ }
3864
+
3865
+ /**
3866
+ * Webhook configuration for remote delivery of results
3867
+ */
3868
+ export declare interface WebhookConfig {
3869
+ /** The URL to send webhook requests to */
3870
+ url: string;
3871
+ /** Optional HTTP headers to include in the request */
3872
+ headers?: Record<string, string>;
3873
+ /** HTTP method to use (default: 'POST') */
3874
+ method?: 'POST' | 'PUT' | 'PATCH';
3875
+ /** Request timeout in milliseconds (default: 30000) */
3876
+ timeout?: number;
3877
+ /** Number of retry attempts on failure (default: 0) */
3878
+ retries?: number;
3879
+ /** Arbitrary developer-provided metadata */
3880
+ metadata?: Record<string, unknown>;
3881
+ }
3882
+
3883
+ /**
3884
+ * Widget mode enumeration
3885
+ */
3886
+ export declare enum WidgetMode {
3887
+ NORMAL = "normal",
3888
+ PRELOAD = "preload"
3889
+ }
3890
+
3891
+ /**
3892
+ * Widget state enumeration for consistent state management
3893
+ */
3894
+ export declare enum WidgetState {
3895
+ UNINITIALIZED = "uninitialized",
3896
+ INITIALIZING = "initializing",
3897
+ READY = "ready",
3898
+ OPENING = "opening",
3899
+ OPEN = "open",
3900
+ CLOSING = "closing",
3901
+ RESETTING = "resetting",
3902
+ ERROR = "error",
3903
+ DESTROYED = "destroyed"
3904
+ }
3905
+
3906
+ export declare const x: {
3907
+ string: typeof ExString.create;
3908
+ number: typeof ExNumber.create;
3909
+ boolean: typeof ExBoolean.create;
3910
+ date: typeof ExDate.create;
3911
+ time: typeof ExTime.create;
3912
+ datetime: typeof ExDatetime.create;
3913
+ row: typeof ExRow.create;
3914
+ select: typeof ExSelect.create;
3915
+ multiselect: typeof ExMultiselect.create;
3916
+ infer: <T extends ExType<unknown, ExBaseDef, unknown>>(_schema: T) => Infer<T>;
3917
+ };
3918
+
3919
+ export { }