@expresscsv/react 0.1.10 → 0.1.12

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,3818 @@
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
+ /**
1239
+ * ISO 4217 Currency Codes
1240
+ *
1241
+ * This file contains the list of all valid currency codes according to ISO 4217 standard.
1242
+ * Each currency has a 3-letter code, a name, and a numeric code.
1243
+ */
1244
+ declare type CurrencyCode = (typeof CurrencyCodes)[number]['code'];
1245
+
1246
+ declare interface CurrencyCodeOptions {
1247
+ allowedCurrencies?: CurrencyCode[];
1248
+ message?: string;
1249
+ }
1250
+
1251
+ declare const CurrencyCodes: readonly [{
1252
+ readonly code: "AED";
1253
+ readonly name: "United Arab Emirates dirham";
1254
+ readonly numeric: "784";
1255
+ }, {
1256
+ readonly code: "AFN";
1257
+ readonly name: "Afghan afghani";
1258
+ readonly numeric: "971";
1259
+ }, {
1260
+ readonly code: "ALL";
1261
+ readonly name: "Albanian lek";
1262
+ readonly numeric: "008";
1263
+ }, {
1264
+ readonly code: "AMD";
1265
+ readonly name: "Armenian dram";
1266
+ readonly numeric: "051";
1267
+ }, {
1268
+ readonly code: "ANG";
1269
+ readonly name: "Netherlands Antillean guilder";
1270
+ readonly numeric: "532";
1271
+ }, {
1272
+ readonly code: "AOA";
1273
+ readonly name: "Angolan kwanza";
1274
+ readonly numeric: "973";
1275
+ }, {
1276
+ readonly code: "ARS";
1277
+ readonly name: "Argentine peso";
1278
+ readonly numeric: "032";
1279
+ }, {
1280
+ readonly code: "AUD";
1281
+ readonly name: "Australian dollar";
1282
+ readonly numeric: "036";
1283
+ }, {
1284
+ readonly code: "AWG";
1285
+ readonly name: "Aruban florin";
1286
+ readonly numeric: "533";
1287
+ }, {
1288
+ readonly code: "AZN";
1289
+ readonly name: "Azerbaijani manat";
1290
+ readonly numeric: "944";
1291
+ }, {
1292
+ readonly code: "BAM";
1293
+ readonly name: "Bosnia and Herzegovina convertible mark";
1294
+ readonly numeric: "977";
1295
+ }, {
1296
+ readonly code: "BBD";
1297
+ readonly name: "Barbados dollar";
1298
+ readonly numeric: "052";
1299
+ }, {
1300
+ readonly code: "BDT";
1301
+ readonly name: "Bangladeshi taka";
1302
+ readonly numeric: "050";
1303
+ }, {
1304
+ readonly code: "BGN";
1305
+ readonly name: "Bulgarian lev";
1306
+ readonly numeric: "975";
1307
+ }, {
1308
+ readonly code: "BHD";
1309
+ readonly name: "Bahraini dinar";
1310
+ readonly numeric: "048";
1311
+ }, {
1312
+ readonly code: "BIF";
1313
+ readonly name: "Burundian franc";
1314
+ readonly numeric: "108";
1315
+ }, {
1316
+ readonly code: "BMD";
1317
+ readonly name: "Bermudian dollar";
1318
+ readonly numeric: "060";
1319
+ }, {
1320
+ readonly code: "BND";
1321
+ readonly name: "Brunei dollar";
1322
+ readonly numeric: "096";
1323
+ }, {
1324
+ readonly code: "BOB";
1325
+ readonly name: "Boliviano";
1326
+ readonly numeric: "068";
1327
+ }, {
1328
+ readonly code: "BRL";
1329
+ readonly name: "Brazilian real";
1330
+ readonly numeric: "986";
1331
+ }, {
1332
+ readonly code: "BSD";
1333
+ readonly name: "Bahamian dollar";
1334
+ readonly numeric: "044";
1335
+ }, {
1336
+ readonly code: "BTN";
1337
+ readonly name: "Bhutanese ngultrum";
1338
+ readonly numeric: "064";
1339
+ }, {
1340
+ readonly code: "BWP";
1341
+ readonly name: "Botswana pula";
1342
+ readonly numeric: "072";
1343
+ }, {
1344
+ readonly code: "BYN";
1345
+ readonly name: "Belarusian ruble";
1346
+ readonly numeric: "933";
1347
+ }, {
1348
+ readonly code: "BZD";
1349
+ readonly name: "Belize dollar";
1350
+ readonly numeric: "084";
1351
+ }, {
1352
+ readonly code: "CAD";
1353
+ readonly name: "Canadian dollar";
1354
+ readonly numeric: "124";
1355
+ }, {
1356
+ readonly code: "CDF";
1357
+ readonly name: "Congolese franc";
1358
+ readonly numeric: "976";
1359
+ }, {
1360
+ readonly code: "CHF";
1361
+ readonly name: "Swiss franc";
1362
+ readonly numeric: "756";
1363
+ }, {
1364
+ readonly code: "CLP";
1365
+ readonly name: "Chilean peso";
1366
+ readonly numeric: "152";
1367
+ }, {
1368
+ readonly code: "CNY";
1369
+ readonly name: "Chinese yuan";
1370
+ readonly numeric: "156";
1371
+ }, {
1372
+ readonly code: "COP";
1373
+ readonly name: "Colombian peso";
1374
+ readonly numeric: "170";
1375
+ }, {
1376
+ readonly code: "CRC";
1377
+ readonly name: "Costa Rican colon";
1378
+ readonly numeric: "188";
1379
+ }, {
1380
+ readonly code: "CUC";
1381
+ readonly name: "Cuban convertible peso";
1382
+ readonly numeric: "931";
1383
+ }, {
1384
+ readonly code: "CUP";
1385
+ readonly name: "Cuban peso";
1386
+ readonly numeric: "192";
1387
+ }, {
1388
+ readonly code: "CVE";
1389
+ readonly name: "Cape Verdean escudo";
1390
+ readonly numeric: "132";
1391
+ }, {
1392
+ readonly code: "CZK";
1393
+ readonly name: "Czech koruna";
1394
+ readonly numeric: "203";
1395
+ }, {
1396
+ readonly code: "DJF";
1397
+ readonly name: "Djiboutian franc";
1398
+ readonly numeric: "262";
1399
+ }, {
1400
+ readonly code: "DKK";
1401
+ readonly name: "Danish krone";
1402
+ readonly numeric: "208";
1403
+ }, {
1404
+ readonly code: "DOP";
1405
+ readonly name: "Dominican peso";
1406
+ readonly numeric: "214";
1407
+ }, {
1408
+ readonly code: "DZD";
1409
+ readonly name: "Algerian dinar";
1410
+ readonly numeric: "012";
1411
+ }, {
1412
+ readonly code: "EGP";
1413
+ readonly name: "Egyptian pound";
1414
+ readonly numeric: "818";
1415
+ }, {
1416
+ readonly code: "ERN";
1417
+ readonly name: "Eritrean nakfa";
1418
+ readonly numeric: "232";
1419
+ }, {
1420
+ readonly code: "ETB";
1421
+ readonly name: "Ethiopian birr";
1422
+ readonly numeric: "230";
1423
+ }, {
1424
+ readonly code: "EUR";
1425
+ readonly name: "Euro";
1426
+ readonly numeric: "978";
1427
+ }, {
1428
+ readonly code: "FJD";
1429
+ readonly name: "Fiji dollar";
1430
+ readonly numeric: "242";
1431
+ }, {
1432
+ readonly code: "FKP";
1433
+ readonly name: "Falkland Islands pound";
1434
+ readonly numeric: "238";
1435
+ }, {
1436
+ readonly code: "GBP";
1437
+ readonly name: "Pound sterling";
1438
+ readonly numeric: "826";
1439
+ }, {
1440
+ readonly code: "GEL";
1441
+ readonly name: "Georgian lari";
1442
+ readonly numeric: "981";
1443
+ }, {
1444
+ readonly code: "GHS";
1445
+ readonly name: "Ghanaian cedi";
1446
+ readonly numeric: "936";
1447
+ }, {
1448
+ readonly code: "GIP";
1449
+ readonly name: "Gibraltar pound";
1450
+ readonly numeric: "292";
1451
+ }, {
1452
+ readonly code: "GMD";
1453
+ readonly name: "Gambian dalasi";
1454
+ readonly numeric: "270";
1455
+ }, {
1456
+ readonly code: "GNF";
1457
+ readonly name: "Guinean franc";
1458
+ readonly numeric: "324";
1459
+ }, {
1460
+ readonly code: "GTQ";
1461
+ readonly name: "Guatemalan quetzal";
1462
+ readonly numeric: "320";
1463
+ }, {
1464
+ readonly code: "GYD";
1465
+ readonly name: "Guyanese dollar";
1466
+ readonly numeric: "328";
1467
+ }, {
1468
+ readonly code: "HKD";
1469
+ readonly name: "Hong Kong dollar";
1470
+ readonly numeric: "344";
1471
+ }, {
1472
+ readonly code: "HNL";
1473
+ readonly name: "Honduran lempira";
1474
+ readonly numeric: "340";
1475
+ }, {
1476
+ readonly code: "HRK";
1477
+ readonly name: "Croatian kuna";
1478
+ readonly numeric: "191";
1479
+ }, {
1480
+ readonly code: "HTG";
1481
+ readonly name: "Haitian gourde";
1482
+ readonly numeric: "332";
1483
+ }, {
1484
+ readonly code: "HUF";
1485
+ readonly name: "Hungarian forint";
1486
+ readonly numeric: "348";
1487
+ }, {
1488
+ readonly code: "IDR";
1489
+ readonly name: "Indonesian rupiah";
1490
+ readonly numeric: "360";
1491
+ }, {
1492
+ readonly code: "ILS";
1493
+ readonly name: "Israeli new shekel";
1494
+ readonly numeric: "376";
1495
+ }, {
1496
+ readonly code: "INR";
1497
+ readonly name: "Indian rupee";
1498
+ readonly numeric: "356";
1499
+ }, {
1500
+ readonly code: "IQD";
1501
+ readonly name: "Iraqi dinar";
1502
+ readonly numeric: "368";
1503
+ }, {
1504
+ readonly code: "IRR";
1505
+ readonly name: "Iranian rial";
1506
+ readonly numeric: "364";
1507
+ }, {
1508
+ readonly code: "ISK";
1509
+ readonly name: "Icelandic króna";
1510
+ readonly numeric: "352";
1511
+ }, {
1512
+ readonly code: "JMD";
1513
+ readonly name: "Jamaican dollar";
1514
+ readonly numeric: "388";
1515
+ }, {
1516
+ readonly code: "JOD";
1517
+ readonly name: "Jordanian dinar";
1518
+ readonly numeric: "400";
1519
+ }, {
1520
+ readonly code: "JPY";
1521
+ readonly name: "Japanese yen";
1522
+ readonly numeric: "392";
1523
+ }, {
1524
+ readonly code: "KES";
1525
+ readonly name: "Kenyan shilling";
1526
+ readonly numeric: "404";
1527
+ }, {
1528
+ readonly code: "KGS";
1529
+ readonly name: "Kyrgyzstani som";
1530
+ readonly numeric: "417";
1531
+ }, {
1532
+ readonly code: "KHR";
1533
+ readonly name: "Cambodian riel";
1534
+ readonly numeric: "116";
1535
+ }, {
1536
+ readonly code: "KMF";
1537
+ readonly name: "Comoro franc";
1538
+ readonly numeric: "174";
1539
+ }, {
1540
+ readonly code: "KPW";
1541
+ readonly name: "North Korean won";
1542
+ readonly numeric: "408";
1543
+ }, {
1544
+ readonly code: "KRW";
1545
+ readonly name: "South Korean won";
1546
+ readonly numeric: "410";
1547
+ }, {
1548
+ readonly code: "KWD";
1549
+ readonly name: "Kuwaiti dinar";
1550
+ readonly numeric: "414";
1551
+ }, {
1552
+ readonly code: "KYD";
1553
+ readonly name: "Cayman Islands dollar";
1554
+ readonly numeric: "136";
1555
+ }, {
1556
+ readonly code: "KZT";
1557
+ readonly name: "Kazakhstani tenge";
1558
+ readonly numeric: "398";
1559
+ }, {
1560
+ readonly code: "LAK";
1561
+ readonly name: "Lao kip";
1562
+ readonly numeric: "418";
1563
+ }, {
1564
+ readonly code: "LBP";
1565
+ readonly name: "Lebanese pound";
1566
+ readonly numeric: "422";
1567
+ }, {
1568
+ readonly code: "LKR";
1569
+ readonly name: "Sri Lankan rupee";
1570
+ readonly numeric: "144";
1571
+ }, {
1572
+ readonly code: "LRD";
1573
+ readonly name: "Liberian dollar";
1574
+ readonly numeric: "430";
1575
+ }, {
1576
+ readonly code: "LSL";
1577
+ readonly name: "Lesotho loti";
1578
+ readonly numeric: "426";
1579
+ }, {
1580
+ readonly code: "LYD";
1581
+ readonly name: "Libyan dinar";
1582
+ readonly numeric: "434";
1583
+ }, {
1584
+ readonly code: "MAD";
1585
+ readonly name: "Moroccan dirham";
1586
+ readonly numeric: "504";
1587
+ }, {
1588
+ readonly code: "MDL";
1589
+ readonly name: "Moldovan leu";
1590
+ readonly numeric: "498";
1591
+ }, {
1592
+ readonly code: "MGA";
1593
+ readonly name: "Malagasy ariary";
1594
+ readonly numeric: "969";
1595
+ }, {
1596
+ readonly code: "MKD";
1597
+ readonly name: "Macedonian denar";
1598
+ readonly numeric: "807";
1599
+ }, {
1600
+ readonly code: "MMK";
1601
+ readonly name: "Myanmar kyat";
1602
+ readonly numeric: "104";
1603
+ }, {
1604
+ readonly code: "MNT";
1605
+ readonly name: "Mongolian tögrög";
1606
+ readonly numeric: "496";
1607
+ }, {
1608
+ readonly code: "MOP";
1609
+ readonly name: "Macanese pataca";
1610
+ readonly numeric: "446";
1611
+ }, {
1612
+ readonly code: "MRU";
1613
+ readonly name: "Mauritanian ouguiya";
1614
+ readonly numeric: "929";
1615
+ }, {
1616
+ readonly code: "MUR";
1617
+ readonly name: "Mauritian rupee";
1618
+ readonly numeric: "480";
1619
+ }, {
1620
+ readonly code: "MVR";
1621
+ readonly name: "Maldivian rufiyaa";
1622
+ readonly numeric: "462";
1623
+ }, {
1624
+ readonly code: "MWK";
1625
+ readonly name: "Malawian kwacha";
1626
+ readonly numeric: "454";
1627
+ }, {
1628
+ readonly code: "MXN";
1629
+ readonly name: "Mexican peso";
1630
+ readonly numeric: "484";
1631
+ }, {
1632
+ readonly code: "MYR";
1633
+ readonly name: "Malaysian ringgit";
1634
+ readonly numeric: "458";
1635
+ }, {
1636
+ readonly code: "MZN";
1637
+ readonly name: "Mozambican metical";
1638
+ readonly numeric: "943";
1639
+ }, {
1640
+ readonly code: "NAD";
1641
+ readonly name: "Namibian dollar";
1642
+ readonly numeric: "516";
1643
+ }, {
1644
+ readonly code: "NGN";
1645
+ readonly name: "Nigerian naira";
1646
+ readonly numeric: "566";
1647
+ }, {
1648
+ readonly code: "NIO";
1649
+ readonly name: "Nicaraguan córdoba";
1650
+ readonly numeric: "558";
1651
+ }, {
1652
+ readonly code: "NOK";
1653
+ readonly name: "Norwegian krone";
1654
+ readonly numeric: "578";
1655
+ }, {
1656
+ readonly code: "NPR";
1657
+ readonly name: "Nepalese rupee";
1658
+ readonly numeric: "524";
1659
+ }, {
1660
+ readonly code: "NZD";
1661
+ readonly name: "New Zealand dollar";
1662
+ readonly numeric: "554";
1663
+ }, {
1664
+ readonly code: "OMR";
1665
+ readonly name: "Omani rial";
1666
+ readonly numeric: "512";
1667
+ }, {
1668
+ readonly code: "PAB";
1669
+ readonly name: "Panamanian balboa";
1670
+ readonly numeric: "590";
1671
+ }, {
1672
+ readonly code: "PEN";
1673
+ readonly name: "Peruvian sol";
1674
+ readonly numeric: "604";
1675
+ }, {
1676
+ readonly code: "PGK";
1677
+ readonly name: "Papua New Guinean kina";
1678
+ readonly numeric: "598";
1679
+ }, {
1680
+ readonly code: "PHP";
1681
+ readonly name: "Philippine peso";
1682
+ readonly numeric: "608";
1683
+ }, {
1684
+ readonly code: "PKR";
1685
+ readonly name: "Pakistani rupee";
1686
+ readonly numeric: "586";
1687
+ }, {
1688
+ readonly code: "PLN";
1689
+ readonly name: "Polish złoty";
1690
+ readonly numeric: "985";
1691
+ }, {
1692
+ readonly code: "PYG";
1693
+ readonly name: "Paraguayan guaraní";
1694
+ readonly numeric: "600";
1695
+ }, {
1696
+ readonly code: "QAR";
1697
+ readonly name: "Qatari riyal";
1698
+ readonly numeric: "634";
1699
+ }, {
1700
+ readonly code: "RON";
1701
+ readonly name: "Romanian leu";
1702
+ readonly numeric: "946";
1703
+ }, {
1704
+ readonly code: "RSD";
1705
+ readonly name: "Serbian dinar";
1706
+ readonly numeric: "941";
1707
+ }, {
1708
+ readonly code: "RUB";
1709
+ readonly name: "Russian ruble";
1710
+ readonly numeric: "643";
1711
+ }, {
1712
+ readonly code: "RWF";
1713
+ readonly name: "Rwandan franc";
1714
+ readonly numeric: "646";
1715
+ }, {
1716
+ readonly code: "SAR";
1717
+ readonly name: "Saudi riyal";
1718
+ readonly numeric: "682";
1719
+ }, {
1720
+ readonly code: "SBD";
1721
+ readonly name: "Solomon Islands dollar";
1722
+ readonly numeric: "090";
1723
+ }, {
1724
+ readonly code: "SCR";
1725
+ readonly name: "Seychelles rupee";
1726
+ readonly numeric: "690";
1727
+ }, {
1728
+ readonly code: "SDG";
1729
+ readonly name: "Sudanese pound";
1730
+ readonly numeric: "938";
1731
+ }, {
1732
+ readonly code: "SEK";
1733
+ readonly name: "Swedish krona";
1734
+ readonly numeric: "752";
1735
+ }, {
1736
+ readonly code: "SGD";
1737
+ readonly name: "Singapore dollar";
1738
+ readonly numeric: "702";
1739
+ }, {
1740
+ readonly code: "SHP";
1741
+ readonly name: "Saint Helena pound";
1742
+ readonly numeric: "654";
1743
+ }, {
1744
+ readonly code: "SLL";
1745
+ readonly name: "Sierra Leonean leone";
1746
+ readonly numeric: "694";
1747
+ }, {
1748
+ readonly code: "SOS";
1749
+ readonly name: "Somali shilling";
1750
+ readonly numeric: "706";
1751
+ }, {
1752
+ readonly code: "SRD";
1753
+ readonly name: "Surinamese dollar";
1754
+ readonly numeric: "968";
1755
+ }, {
1756
+ readonly code: "SSP";
1757
+ readonly name: "South Sudanese pound";
1758
+ readonly numeric: "728";
1759
+ }, {
1760
+ readonly code: "STN";
1761
+ readonly name: "São Tomé and Príncipe dobra";
1762
+ readonly numeric: "930";
1763
+ }, {
1764
+ readonly code: "SVC";
1765
+ readonly name: "Salvadoran colón";
1766
+ readonly numeric: "222";
1767
+ }, {
1768
+ readonly code: "SYP";
1769
+ readonly name: "Syrian pound";
1770
+ readonly numeric: "760";
1771
+ }, {
1772
+ readonly code: "SZL";
1773
+ readonly name: "Swazi lilangeni";
1774
+ readonly numeric: "748";
1775
+ }, {
1776
+ readonly code: "THB";
1777
+ readonly name: "Thai baht";
1778
+ readonly numeric: "764";
1779
+ }, {
1780
+ readonly code: "TJS";
1781
+ readonly name: "Tajikistani somoni";
1782
+ readonly numeric: "972";
1783
+ }, {
1784
+ readonly code: "TMT";
1785
+ readonly name: "Turkmenistan manat";
1786
+ readonly numeric: "934";
1787
+ }, {
1788
+ readonly code: "TND";
1789
+ readonly name: "Tunisian dinar";
1790
+ readonly numeric: "788";
1791
+ }, {
1792
+ readonly code: "TOP";
1793
+ readonly name: "Tongan paʻanga";
1794
+ readonly numeric: "776";
1795
+ }, {
1796
+ readonly code: "TRY";
1797
+ readonly name: "Turkish lira";
1798
+ readonly numeric: "949";
1799
+ }, {
1800
+ readonly code: "TTD";
1801
+ readonly name: "Trinidad and Tobago dollar";
1802
+ readonly numeric: "780";
1803
+ }, {
1804
+ readonly code: "TWD";
1805
+ readonly name: "New Taiwan dollar";
1806
+ readonly numeric: "901";
1807
+ }, {
1808
+ readonly code: "TZS";
1809
+ readonly name: "Tanzanian shilling";
1810
+ readonly numeric: "834";
1811
+ }, {
1812
+ readonly code: "UAH";
1813
+ readonly name: "Ukrainian hryvnia";
1814
+ readonly numeric: "980";
1815
+ }, {
1816
+ readonly code: "UGX";
1817
+ readonly name: "Ugandan shilling";
1818
+ readonly numeric: "800";
1819
+ }, {
1820
+ readonly code: "USD";
1821
+ readonly name: "United States dollar";
1822
+ readonly numeric: "840";
1823
+ }, {
1824
+ readonly code: "UYU";
1825
+ readonly name: "Uruguayan peso";
1826
+ readonly numeric: "858";
1827
+ }, {
1828
+ readonly code: "UZS";
1829
+ readonly name: "Uzbekistan som";
1830
+ readonly numeric: "860";
1831
+ }, {
1832
+ readonly code: "VES";
1833
+ readonly name: "Venezuelan bolívar soberano";
1834
+ readonly numeric: "928";
1835
+ }, {
1836
+ readonly code: "VND";
1837
+ readonly name: "Vietnamese đồng";
1838
+ readonly numeric: "704";
1839
+ }, {
1840
+ readonly code: "VUV";
1841
+ readonly name: "Vanuatu vatu";
1842
+ readonly numeric: "548";
1843
+ }, {
1844
+ readonly code: "WST";
1845
+ readonly name: "Samoan tala";
1846
+ readonly numeric: "882";
1847
+ }, {
1848
+ readonly code: "XAF";
1849
+ readonly name: "CFA franc BEAC";
1850
+ readonly numeric: "950";
1851
+ }, {
1852
+ readonly code: "XCD";
1853
+ readonly name: "East Caribbean dollar";
1854
+ readonly numeric: "951";
1855
+ }, {
1856
+ readonly code: "XOF";
1857
+ readonly name: "CFA franc BCEAO";
1858
+ readonly numeric: "952";
1859
+ }, {
1860
+ readonly code: "XPF";
1861
+ readonly name: "CFP franc";
1862
+ readonly numeric: "953";
1863
+ }, {
1864
+ readonly code: "YER";
1865
+ readonly name: "Yemeni rial";
1866
+ readonly numeric: "886";
1867
+ }, {
1868
+ readonly code: "ZAR";
1869
+ readonly name: "South African rand";
1870
+ readonly numeric: "710";
1871
+ }, {
1872
+ readonly code: "ZMW";
1873
+ readonly name: "Zambian kwacha";
1874
+ readonly numeric: "967";
1875
+ }, {
1876
+ readonly code: "ZWL";
1877
+ readonly name: "Zimbabwean dollar";
1878
+ readonly numeric: "932";
1879
+ }];
1880
+
1881
+ declare interface DatetimeOptions {
1882
+ message?: string;
1883
+ }
1884
+
1885
+ export declare type DeepPartial<T> = {
1886
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
1887
+ };
1888
+
1889
+ /**
1890
+ * Delivery options - requires at least one of onData or webhook
1891
+ */
1892
+ export declare type DeliveryOptions<T> = RequireAtLeastOne<DeliveryOptionsBase<T>, 'onData' | 'webhook'>;
1893
+
1894
+ /**
1895
+ * Base delivery options - at least one must be provided
1896
+ */
1897
+ declare interface DeliveryOptionsBase<T> {
1898
+ /** Local callback for processing chunks */
1899
+ onData?: (chunk: RecordsChunk<T>, next: () => void) => void | Promise<void>;
1900
+ /** Webhook configuration for remote delivery */
1901
+ webhook?: WebhookConfig;
1902
+ }
1903
+
1904
+ /**
1905
+ * Font source configuration for custom fonts
1906
+ */
1907
+ export declare type ECSVFontSource = {
1908
+ source: 'google';
1909
+ name: string;
1910
+ weights?: (number | string)[];
1911
+ } | {
1912
+ source: 'custom';
1913
+ url: string;
1914
+ format?: 'woff2' | 'woff';
1915
+ };
1916
+
1917
+ /**
1918
+ * Theme - can be either dual-mode (light/dark) or single-mode (applies to both)
1919
+ */
1920
+ export declare type ECSVTheme = ECSVThemeWithModes | ECSVThemeSingle;
1921
+
1922
+ /**
1923
+ * Single theme that applies to both light and dark modes
1924
+ */
1925
+ declare type ECSVThemeSingle = TailwindThemeVars;
1926
+
1927
+ /**
1928
+ * Theme with light and dark mode support
1929
+ */
1930
+ declare interface ECSVThemeWithModes {
1931
+ modes: {
1932
+ light: TailwindThemeVars;
1933
+ dark: TailwindThemeVars;
1934
+ };
1935
+ }
1936
+
1937
+ declare interface ExBaseDef {
1938
+ typeName: string;
1939
+ }
1940
+
1941
+ /**
1942
+ * Boolean field type that validates true/false values.
1943
+ *
1944
+ * When parsing strings (all comparisons are case-insensitive):
1945
+ * - The following values are considered false:
1946
+ * "" (empty cell), "0", "off", "n", "no", "false", "disabled"
1947
+ * - Cross characters are considered false: "×", "✗", "✘", "x"
1948
+ * - Check characters are considered true: "✓", "✔", "☑", "✅"
1949
+ * - All other string values are considered true
1950
+ *
1951
+ * When parsing numbers:
1952
+ * - 0 is considered false
1953
+ * - All other numbers are considered true
1954
+ */
1955
+ declare class ExBoolean extends PrimitiveExType<boolean, ExBooleanDef> {
1956
+ /**
1957
+ * Factory method to create an ExBoolean validator
1958
+ *
1959
+ * @param options - Configuration options
1960
+ * @param options.control - UI control type to use ('toggle', 'checkbox', 'dropdown')
1961
+ * @param options.message - Optional custom error message for validation failures
1962
+ * @returns A new ExBoolean instance
1963
+ */
1964
+ static create(options?: {
1965
+ control?: BooleanControlType;
1966
+ message?: string;
1967
+ }): ExBoolean;
1968
+ /**
1969
+ * Creates an optional version of this type
1970
+ *
1971
+ * @returns An optional version of this type
1972
+ */
1973
+ optional(): ExOptionalBoolean;
1974
+ }
1975
+
1976
+ declare interface ExBooleanDef extends PrimitiveExBaseDef {
1977
+ typeName: 'ExBoolean';
1978
+ control?: BooleanControlType;
1979
+ message?: string;
1980
+ checks: ValidatorCheck[];
1981
+ }
1982
+
1983
+ declare class ExCurrencyNumber extends ExNumberBase<ExCurrencyNumber> {
1984
+ /**
1985
+ * Creates an optional version of this type
1986
+ *
1987
+ * @returns An optional version of this type
1988
+ */
1989
+ optional(): ExOptionalCurrencyNumber;
1990
+ /**
1991
+ * Updates the currency code for this currency number
1992
+ * This allows chaining multiple currency() calls with "last call wins" behavior
1993
+ *
1994
+ * @param currencyCode - ISO 4217 currency code (e.g., 'USD', 'EUR', 'JPY')
1995
+ * @returns The instance for method chaining
1996
+ */
1997
+ currency(currencyCode: CurrencyCode): ExCurrencyNumber;
1998
+ }
1999
+
2000
+ declare class ExDate extends PrimitiveExType<string, ExDateDef> {
2001
+ /**
2002
+ * Factory method to create an ExDate validator
2003
+ *
2004
+ * @param options - Configuration options
2005
+ * @param options.message - Optional custom error message for validation failures
2006
+ * @returns A new ExDate instance
2007
+ */
2008
+ static create(options?: {
2009
+ message?: string;
2010
+ }): ExDate;
2011
+ /**
2012
+ * Creates an optional version of this type
2013
+ *
2014
+ * @returns An optional version of this type
2015
+ */
2016
+ optional(): ExOptionalDate;
2017
+ /**
2018
+ * Sets a custom output format for the date
2019
+ *
2020
+ * @param template - Format template string for output
2021
+ * @returns The ExDate instance for method chaining
2022
+ */
2023
+ output(template: string): this;
2024
+ }
2025
+
2026
+ declare interface ExDateDef extends PrimitiveExBaseDef {
2027
+ typeName: 'ExDate';
2028
+ message?: string;
2029
+ outputFormat?: string;
2030
+ internalValue?: {
2031
+ year: number;
2032
+ month: number;
2033
+ day: number;
2034
+ };
2035
+ }
2036
+
2037
+ declare class ExDatetime extends PrimitiveExType<string, ExDatetimeDef> {
2038
+ /**
2039
+ * Factory method to create an ExDatetime validator
2040
+ *
2041
+ * @param options - Configuration options
2042
+ * @param options.message - Optional custom error message for validation failures
2043
+ * @returns A new ExDatetime instance
2044
+ */
2045
+ static create(options?: DatetimeOptions): ExDatetime;
2046
+ /**
2047
+ * Creates an optional version of this type
2048
+ *
2049
+ * @returns An optional version of this type
2050
+ */
2051
+ optional(): ExOptionalDatetime;
2052
+ /**
2053
+ * Sets a custom output format for the datetime
2054
+ *
2055
+ * @param template - Format template string for output
2056
+ * @returns The ExDatetime instance for method chaining
2057
+ */
2058
+ output(template: string): this;
2059
+ /**
2060
+ * Allows timezone offsets in the datetime string
2061
+ *
2062
+ * @param options - Configuration options
2063
+ * @param options.message - Custom error message for validation failures
2064
+ * @returns The ExDatetime instance for method chaining
2065
+ */
2066
+ allowOffset(options?: {
2067
+ message?: string;
2068
+ }): this;
2069
+ private _getDatetimeCheck;
2070
+ }
2071
+
2072
+ declare interface ExDatetimeDef extends PrimitiveExBaseDef {
2073
+ typeName: 'ExDatetime';
2074
+ checks: ValidatorCheck[];
2075
+ outputFormat?: string;
2076
+ internalValue?: string;
2077
+ }
2078
+
2079
+ declare class ExMultiselect<TValue extends string | number = string | number> extends PrimitiveExType<TValue[], ExMultiselectDef<TValue>> {
2080
+ /**
2081
+ * Factory method to create an ExMultiselect validator for multiple selection
2082
+ *
2083
+ * @param options - Array of select options with labels and values
2084
+ * @param config - Configuration options
2085
+ * @param config.enforceCaseSensitiveMatch - Whether to enforce case-sensitive matching
2086
+ * @param config.message - Custom error message for validation failures
2087
+ * @returns A new ExMultiselect instance
2088
+ */
2089
+ static create<const T extends readonly (SelectOption & {
2090
+ value: string | number;
2091
+ })[]>(options: T, config?: MultiselectOptions): ExMultiselect<T[number]['value']>;
2092
+ /**
2093
+ * Creates an optional version of this multiselect type
2094
+ *
2095
+ * @returns An optional version of this multiselect type
2096
+ */
2097
+ optional(): ExOptionalMultiselect<TValue>;
2098
+ /**
2099
+ * Sets case sensitive matching for option values
2100
+ *
2101
+ * @param enabled - Whether to enable case-sensitive matching
2102
+ * @returns The ExMultiselect instance for method chaining
2103
+ */
2104
+ caseSensitive(enabled?: boolean): this;
2105
+ /**
2106
+ * Sets minimum number of selections required
2107
+ *
2108
+ * @param min - Minimum number of selections (must be at least 1)
2109
+ * @param message - Custom error message for minimum validation
2110
+ * @returns The ExMultiselect instance for method chaining
2111
+ */
2112
+ min(min: number, message?: string): this;
2113
+ /**
2114
+ * Sets maximum number of selections allowed
2115
+ *
2116
+ * @param max - Maximum number of selections
2117
+ * @param message - Custom error message for maximum validation
2118
+ * @returns The ExMultiselect instance for method chaining
2119
+ */
2120
+ max(max: number, message?: string): this;
2121
+ }
2122
+
2123
+ declare interface ExMultiselectDef<TValue extends string | number = string | number> extends PrimitiveExBaseDef {
2124
+ typeName: 'ExMultiselect';
2125
+ options: SelectOption<TValue>[];
2126
+ config: {
2127
+ enforceCaseSensitiveMatch: boolean;
2128
+ allowCustom?: boolean;
2129
+ };
2130
+ checks: ValidatorCheck[];
2131
+ _value?: TValue[];
2132
+ message?: string;
2133
+ }
2134
+
2135
+ declare class ExNumber extends ExNumberBase<ExNumber> {
2136
+ /**
2137
+ * Factory method to create an ExNumber validator
2138
+ *
2139
+ * @param options - Configuration options
2140
+ * @param options.message - Optional custom error message for validation failures
2141
+ * @returns A new ExNumber instance
2142
+ */
2143
+ static create(options?: {
2144
+ message?: string;
2145
+ }): ExNumber;
2146
+ /**
2147
+ * Creates an optional version of this type
2148
+ *
2149
+ * @returns An optional version of this type
2150
+ */
2151
+ optional(): ExOptionalNumber;
2152
+ /**
2153
+ * Marks the number as a percentage value for presentation purposes.
2154
+ * This flag tells the cell editor to display the number with a percentage symbol.
2155
+ * No input or output transformation is performed - values are stored as-is.
2156
+ *
2157
+ * @returns A specialized percentage number type
2158
+ */
2159
+ percentage(): ExPercentageNumber;
2160
+ /**
2161
+ * Marks the number as a currency value, associating it with a specific currency code
2162
+ * The number will be formatted for the specified currency
2163
+ *
2164
+ * @param currencyCode - ISO 4217 currency code (e.g., 'USD', 'EUR', 'JPY')
2165
+ * @returns A specialized currency number type
2166
+ */
2167
+ currency(currencyCode: CurrencyCode): ExCurrencyNumber;
2168
+ }
2169
+
2170
+ declare abstract class ExNumberBase<T extends ExNumberBase<T>> extends PrimitiveExType<number, ExNumberDef> {
2171
+ /**
2172
+ * Validates that the number is greater than or equal to the specified minimum value
2173
+ *
2174
+ * @param value - Minimum allowed value
2175
+ * @param options - Configuration options
2176
+ * @param options.message - Custom error message for validation failures
2177
+ * @returns The instance for method chaining
2178
+ */
2179
+ min(value: number, options?: {
2180
+ message?: string;
2181
+ }): this;
2182
+ /**
2183
+ * Validates that the number is less than or equal to the specified maximum value
2184
+ *
2185
+ * @param value - Maximum allowed value
2186
+ * @param options - Configuration options
2187
+ * @param options.message - Custom error message for validation failures
2188
+ * @returns The instance for method chaining
2189
+ */
2190
+ max(value: number, options?: {
2191
+ message?: string;
2192
+ }): this;
2193
+ /**
2194
+ * Validates that the number is an integer (no decimal places)
2195
+ *
2196
+ * @param options - Configuration options
2197
+ * @param options.message - Custom error message for validation failures
2198
+ * @returns The instance for method chaining
2199
+ */
2200
+ integer(options?: {
2201
+ message?: string;
2202
+ }): this;
2203
+ /**
2204
+ * Validates that the number is a multiple of the specified value
2205
+ *
2206
+ * @param value - The number that the validated value must be a multiple of
2207
+ * @param options - Configuration options
2208
+ * @param options.message - Custom error message for validation failures
2209
+ * @returns The instance for method chaining
2210
+ */
2211
+ multipleOf(value: number, options?: {
2212
+ message?: string;
2213
+ }): this;
2214
+ }
2215
+
2216
+ declare interface ExNumberDef extends PrimitiveExBaseDef {
2217
+ typeName: 'ExNumber';
2218
+ checks: ValidatorCheck[];
2219
+ isPercentage?: boolean;
2220
+ currencyCode?: CurrencyCode;
2221
+ }
2222
+
2223
+ declare class ExOptional<T extends ExType<unknown, ExBaseDef, unknown>> extends PrimitiveExType<T extends ExType<infer O, ExBaseDef, unknown> ? O | null : never, ExOptionalDef<T>> {
2224
+ /**
2225
+ * Factory method to create an ExOptional wrapper around a type
2226
+ *
2227
+ * @param type - The type to make optional
2228
+ * @param options - Configuration options
2229
+ * @param options.when - Function that determines when the field is allowed to be null/optional
2230
+ * @returns A new ExOptional instance
2231
+ */
2232
+ static create<T extends ExType<unknown, ExBaseDef, unknown>>(type: T, options?: {
2233
+ /**
2234
+ * Function that determines when the field is allowed to be null/optional.
2235
+ *
2236
+ * @param rowData The row data being validated
2237
+ * @returns true if the field can be null, false if the field is required
2238
+ *
2239
+ * For example, if a field should only be required when another field has a specific value:
2240
+ * ```
2241
+ * when: (row) => row.isEmployed === false // Company is optional when not employed
2242
+ * ```
2243
+ */
2244
+ when?: (rowData: Record<string, unknown>) => boolean;
2245
+ }): ExOptional<T>;
2246
+ /**
2247
+ * Unwraps the optional type to get the inner type
2248
+ *
2249
+ * @returns The inner type
2250
+ */
2251
+ unwrap(): T;
2252
+ /**
2253
+ * Creates an optional version of this type (returns self since already optional)
2254
+ *
2255
+ * @returns This instance (self-reference)
2256
+ */
2257
+ optional(): this;
2258
+ /**
2259
+ * Sets a default value to use when the value is null or undefined
2260
+ *
2261
+ * @param defaultValue - The default value or function that returns the default value
2262
+ * @returns The ExOptional instance for method chaining
2263
+ */
2264
+ default<T1 extends T extends ExType<infer O, ExBaseDef, unknown> ? O | null : never>(defaultValue: T1 | (() => T1 | Promise<T1>)): this;
2265
+ }
2266
+
2267
+ /**
2268
+ * Specialized optional wrapper for boolean fields
2269
+ */
2270
+ declare class ExOptionalBoolean extends ExOptional<ExBoolean> {
2271
+ }
2272
+
2273
+ /**
2274
+ * Specialized optional wrapper for currency number fields
2275
+ */
2276
+ declare class ExOptionalCurrencyNumber extends ExOptional<ExCurrencyNumber> {
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
+ * Updates the currency code for this optional currency number
2322
+ * This allows chaining multiple currency() calls with "last call wins" behavior
2323
+ *
2324
+ * @param currencyCode - ISO 4217 currency code (e.g., 'USD', 'EUR', 'JPY')
2325
+ * @returns The instance for method chaining
2326
+ */
2327
+ currency(currencyCode: CurrencyCode): this;
2328
+ }
2329
+
2330
+ /**
2331
+ * Specialized optional wrapper for date fields
2332
+ */
2333
+ declare class ExOptionalDate extends ExOptional<ExDate> {
2334
+ /**
2335
+ * Specifies the output format for the date
2336
+ *
2337
+ * @param template - The format template
2338
+ * @returns The instance for method chaining
2339
+ */
2340
+ output(template: string): this;
2341
+ }
2342
+
2343
+ /**
2344
+ * Specialized optional wrapper for datetime fields
2345
+ */
2346
+ declare class ExOptionalDatetime extends ExOptional<ExDatetime> {
2347
+ /**
2348
+ * Specifies the output format for the datetime
2349
+ *
2350
+ * @param template - The format template
2351
+ * @returns The instance for method chaining
2352
+ */
2353
+ output(template: string): this;
2354
+ }
2355
+
2356
+ declare interface ExOptionalDef<T extends ExType<unknown, ExBaseDef, unknown>> extends PrimitiveExBaseDef {
2357
+ typeName: 'ExOptional';
2358
+ innerType: T;
2359
+ when?: (rowData: Record<string, unknown>) => boolean;
2360
+ checks?: ValidatorCheck[];
2361
+ outputFormat?: string;
2362
+ }
2363
+
2364
+ /**
2365
+ * Specialized optional wrapper for multiselect fields
2366
+ */
2367
+ declare class ExOptionalMultiselect<TValue extends string | number = string | number> extends ExOptional<ExMultiselect<TValue>> {
2368
+ /**
2369
+ * Specifies whether the multiselect options should be case-sensitive
2370
+ *
2371
+ * @param enabled - Whether case sensitivity is enabled
2372
+ * @returns The instance for method chaining
2373
+ */
2374
+ caseSensitive(enabled?: boolean): this;
2375
+ /**
2376
+ * Sets minimum number of selections required
2377
+ *
2378
+ * @param min - Minimum number of selections
2379
+ * @param message - Custom error message for minimum validation
2380
+ * @returns The instance for method chaining
2381
+ */
2382
+ min(min: number, message?: string): this;
2383
+ /**
2384
+ * Sets maximum number of selections allowed
2385
+ *
2386
+ * @param max - Maximum number of selections
2387
+ * @param message - Custom error message for maximum validation
2388
+ * @returns The instance for method chaining
2389
+ */
2390
+ max(max: number, message?: string): this;
2391
+ }
2392
+
2393
+ /**
2394
+ * Specialized optional wrapper for number fields
2395
+ */
2396
+ declare class ExOptionalNumber extends ExOptional<ExNumber> {
2397
+ /**
2398
+ * Validates that the number is greater than or equal to the specified minimum value
2399
+ *
2400
+ * @param value - Minimum allowed value
2401
+ * @param options - Configuration options
2402
+ * @param options.message - Custom error message for validation failures
2403
+ * @returns The instance for method chaining
2404
+ */
2405
+ min(value: number, options?: {
2406
+ message?: string;
2407
+ }): this;
2408
+ /**
2409
+ * Validates that the number is less than or equal to the specified maximum value
2410
+ *
2411
+ * @param value - Maximum allowed value
2412
+ * @param options - Configuration options
2413
+ * @param options.message - Custom error message for validation failures
2414
+ * @returns The instance for method chaining
2415
+ */
2416
+ max(value: number, options?: {
2417
+ message?: string;
2418
+ }): this;
2419
+ /**
2420
+ * Validates that the number is an integer (no decimal places)
2421
+ *
2422
+ * @param options - Configuration options
2423
+ * @param options.message - Custom error message for validation failures
2424
+ * @returns The instance for method chaining
2425
+ */
2426
+ integer(options?: {
2427
+ message?: string;
2428
+ }): this;
2429
+ /**
2430
+ * Validates that the number is a multiple of the specified value
2431
+ *
2432
+ * @param value - The number that the validated value must be a multiple of
2433
+ * @param options - Configuration options
2434
+ * @param options.message - Custom error message for validation failures
2435
+ * @returns The instance for method chaining
2436
+ */
2437
+ multipleOf(value: number, options?: {
2438
+ message?: string;
2439
+ }): this;
2440
+ /**
2441
+ * Marks the number as a percentage value
2442
+ *
2443
+ * @returns A specialized percentage number type that cannot be combined with currency
2444
+ */
2445
+ percentage(): ExOptionalPercentageNumber;
2446
+ /**
2447
+ * Marks the number as a currency value, associating it with a specific currency code
2448
+ *
2449
+ * @param currencyCode - ISO 4217 currency code (e.g., 'USD', 'EUR', 'JPY')
2450
+ * @returns A specialized currency number type that cannot be combined with percentage
2451
+ */
2452
+ currency(currencyCode: CurrencyCode): ExOptionalCurrencyNumber;
2453
+ }
2454
+
2455
+ /**
2456
+ * Specialized optional wrapper for percentage number fields
2457
+ */
2458
+ declare class ExOptionalPercentageNumber extends ExOptional<ExPercentageNumber> {
2459
+ /**
2460
+ * Validates that the number is greater than or equal to the specified minimum value
2461
+ *
2462
+ * @param value - Minimum allowed value
2463
+ * @param options - Configuration options
2464
+ * @param options.message - Custom error message for validation failures
2465
+ * @returns The instance for method chaining
2466
+ */
2467
+ min(value: number, options?: {
2468
+ message?: string;
2469
+ }): this;
2470
+ /**
2471
+ * Validates that the number is less than or equal to the specified maximum value
2472
+ *
2473
+ * @param value - Maximum allowed value
2474
+ * @param options - Configuration options
2475
+ * @param options.message - Custom error message for validation failures
2476
+ * @returns The instance for method chaining
2477
+ */
2478
+ max(value: number, options?: {
2479
+ message?: string;
2480
+ }): this;
2481
+ /**
2482
+ * Validates that the number is an integer (no decimal places)
2483
+ *
2484
+ * @param options - Configuration options
2485
+ * @param options.message - Custom error message for validation failures
2486
+ * @returns The instance for method chaining
2487
+ */
2488
+ integer(options?: {
2489
+ message?: string;
2490
+ }): this;
2491
+ /**
2492
+ * Validates that the number is a multiple of the specified value
2493
+ *
2494
+ * @param value - The number that the validated value must be a multiple of
2495
+ * @param options - Configuration options
2496
+ * @param options.message - Custom error message for validation failures
2497
+ * @returns The instance for method chaining
2498
+ */
2499
+ multipleOf(value: number, options?: {
2500
+ message?: string;
2501
+ }): this;
2502
+ }
2503
+
2504
+ declare type ExOptionalPrimitiveType = ExOptionalString | ExOptionalNumber | ExOptionalCurrencyNumber | ExOptionalPercentageNumber | ExOptionalBoolean | ExOptionalDate | ExOptionalDatetime | ExOptionalTime | ExOptionalSelect<string | number> | ExOptionalMultiselect<string | number>;
2505
+
2506
+ /**
2507
+ * Specialized optional wrapper for select fields
2508
+ */
2509
+ declare class ExOptionalSelect<TValue extends string | number = string | number> extends ExOptional<ExSelect<TValue>> {
2510
+ /**
2511
+ * Specifies whether the select options should be case-sensitive
2512
+ *
2513
+ * @param enabled - Whether case sensitivity is enabled
2514
+ * @returns The instance for method chaining
2515
+ */
2516
+ caseSensitive(enabled?: boolean): this;
2517
+ }
2518
+
2519
+ declare class ExOptionalString extends ExOptional<ExString> {
2520
+ /**
2521
+ * Validates that the string is a valid UUID
2522
+ *
2523
+ * @param options - Configuration options
2524
+ * @param options.version - The specific UUID version to validate against
2525
+ * @param options.message - Custom error message for validation failures
2526
+ * @returns The instance for method chaining
2527
+ */
2528
+ uuid(options?: {
2529
+ version?: UUIDVersion;
2530
+ message?: string;
2531
+ }): this;
2532
+ /**
2533
+ * Validates that the string is a valid IP address
2534
+ *
2535
+ * @param options - Configuration options
2536
+ * @param options.version - Specific IP version to validate against
2537
+ * @param options.message - Custom error message for validation failures
2538
+ * @returns The instance for method chaining
2539
+ */
2540
+ ip(options?: {
2541
+ version?: IPAddressVersion;
2542
+ message?: string;
2543
+ }): this;
2544
+ /**
2545
+ * Validates that the string is a valid URL
2546
+ *
2547
+ * @param options - Configuration options
2548
+ * @returns The instance for method chaining
2549
+ */
2550
+ url(options?: URLOptions): this;
2551
+ /**
2552
+ * Validates that the string is a valid email address
2553
+ *
2554
+ * @param options - Configuration options
2555
+ * @param options.message - Custom error message for validation failures
2556
+ * @returns The instance for method chaining
2557
+ */
2558
+ email(options?: {
2559
+ message?: string;
2560
+ }): this;
2561
+ /**
2562
+ * Validates that the string is a valid phone number
2563
+ *
2564
+ * @param options - Configuration options
2565
+ * @returns The instance for method chaining
2566
+ */
2567
+ phone(options?: PhoneOptions): this;
2568
+ /**
2569
+ * Validates that the string is a valid country code
2570
+ *
2571
+ * @param options - Configuration options
2572
+ * @returns The instance for method chaining
2573
+ */
2574
+ country(options?: CountryOptions): this;
2575
+ /**
2576
+ * Validates that the string does not exceed the specified maximum length
2577
+ *
2578
+ * @param maxLength - Maximum allowed length
2579
+ * @param options - Configuration options
2580
+ * @param options.message - Custom error message for validation failures
2581
+ * @returns The instance for method chaining
2582
+ */
2583
+ max(maxLength: number, options?: {
2584
+ message?: string;
2585
+ }): this;
2586
+ /**
2587
+ * Validates that the string meets or exceeds the specified minimum length
2588
+ *
2589
+ * @param minLength - Minimum allowed length
2590
+ * @param options - Configuration options
2591
+ * @param options.message - Custom error message for validation failures
2592
+ * @returns The instance for method chaining
2593
+ */
2594
+ min(minLength: number, options?: {
2595
+ message?: string;
2596
+ }): this;
2597
+ /**
2598
+ * Validates that the string is exactly the specified length
2599
+ *
2600
+ * @param exactLength - Exact required length
2601
+ * @param options - Configuration options
2602
+ * @param options.message - Custom error message for validation failures
2603
+ * @returns The instance for method chaining
2604
+ */
2605
+ length(exactLength: number, options?: {
2606
+ message?: string;
2607
+ }): this;
2608
+ /**
2609
+ * Validates that the string includes the specified substring
2610
+ *
2611
+ * @param substring - The substring that must be included
2612
+ * @param options - Configuration options
2613
+ * @param options.message - Custom error message for validation failures
2614
+ * @returns The instance for method chaining
2615
+ */
2616
+ includes(substring: string, options?: {
2617
+ message?: string;
2618
+ }): this;
2619
+ /**
2620
+ * Validates that the string starts with the specified prefix
2621
+ *
2622
+ * @param prefix - The required starting prefix
2623
+ * @param options - Configuration options
2624
+ * @param options.message - Custom error message for validation failures
2625
+ * @returns The instance for method chaining
2626
+ */
2627
+ startsWith(prefix: string, options?: {
2628
+ message?: string;
2629
+ }): this;
2630
+ /**
2631
+ * Validates that the string ends with the specified suffix
2632
+ *
2633
+ * @param suffix - The required ending suffix
2634
+ * @param options - Configuration options
2635
+ * @param options.message - Custom error message for validation failures
2636
+ * @returns The instance for method chaining
2637
+ */
2638
+ endsWith(suffix: string, options?: {
2639
+ message?: string;
2640
+ }): this;
2641
+ /**
2642
+ * Validates that the string matches the specified regular expression pattern
2643
+ *
2644
+ * @param pattern - The regex pattern to match against
2645
+ * @param options - Configuration options
2646
+ * @param options.message - Custom error message for validation failures
2647
+ * @returns The instance for method chaining
2648
+ */
2649
+ regex(pattern: RegExp, options?: {
2650
+ message?: string;
2651
+ }): this;
2652
+ /**
2653
+ * Validates that the string contains only alphabetical characters
2654
+ *
2655
+ * @param options - Configuration options
2656
+ * @param options.message - Custom error message for validation failures
2657
+ * @returns The instance for method chaining
2658
+ */
2659
+ alphabetical(options?: {
2660
+ message?: string;
2661
+ }): this;
2662
+ /**
2663
+ * Validates that the string contains only alphanumerical characters
2664
+ *
2665
+ * @param options - Configuration options
2666
+ * @param options.message - Custom error message for validation failures
2667
+ * @returns The instance for method chaining
2668
+ */
2669
+ alphanumerical(options?: {
2670
+ message?: string;
2671
+ }): this;
2672
+ /**
2673
+ * Validates that the string contains only numerical characters
2674
+ *
2675
+ * @param options - Configuration options
2676
+ * @param options.message - Custom error message for validation failures
2677
+ * @returns The instance for method chaining
2678
+ */
2679
+ numerical(options?: {
2680
+ message?: string;
2681
+ }): this;
2682
+ /**
2683
+ * Validates that the string is a valid IBAN (International Bank Account Number)
2684
+ *
2685
+ * @param options - Configuration options
2686
+ * @returns The instance for method chaining
2687
+ */
2688
+ iban(options?: IbanOptions): this;
2689
+ /**
2690
+ * Validates that the string is a valid BIC (Bank Identifier Code)
2691
+ *
2692
+ * @param options - Configuration options
2693
+ * @returns The instance for method chaining
2694
+ */
2695
+ bic(options?: BICOptions): this;
2696
+ /**
2697
+ * Validates that the string is a valid GTIN (Global Trade Item Number)
2698
+ *
2699
+ * @param options - Configuration options
2700
+ * @returns The instance for method chaining
2701
+ */
2702
+ gtin(options?: GTINOptions): this;
2703
+ /**
2704
+ * Validates that the string is a valid currency code
2705
+ *
2706
+ * @param options - Configuration options
2707
+ * @returns The instance for method chaining
2708
+ */
2709
+ currencyCode(options?: CurrencyCodeOptions): this;
2710
+ }
2711
+
2712
+ /**
2713
+ * Specialized optional wrapper for time fields
2714
+ */
2715
+ declare class ExOptionalTime extends ExOptional<ExTime> {
2716
+ /**
2717
+ * Specifies the decimal precision for the time field
2718
+ *
2719
+ * @param precision - The number of decimal places
2720
+ * @param options - Configuration options
2721
+ * @param options.message - Custom error message for validation failures
2722
+ * @returns The instance for method chaining
2723
+ */
2724
+ precision(precision: number, options?: {
2725
+ message?: string;
2726
+ }): this;
2727
+ }
2728
+
2729
+ declare class ExPercentageNumber extends ExNumberBase<ExPercentageNumber> {
2730
+ /**
2731
+ * Creates an optional version of this type
2732
+ *
2733
+ * @returns An optional version of this type
2734
+ */
2735
+ optional(): ExOptionalPercentageNumber;
2736
+ }
2737
+
2738
+ declare interface ExpressCSVLocale {
2739
+ general: {
2740
+ cancel: string;
2741
+ back: string;
2742
+ next: string;
2743
+ finish: string;
2744
+ required: string;
2745
+ optional: string;
2746
+ matched: string;
2747
+ unmatched: string;
2748
+ custom: string;
2749
+ };
2750
+ widget: {
2751
+ title: string;
2752
+ loading: string;
2753
+ closeConfirmTitle: string;
2754
+ closeConfirmDescription: string;
2755
+ closeConfirmCancel: string;
2756
+ closeConfirmContinue: string;
2757
+ errorTitle: string;
2758
+ startOver: string;
2759
+ invalidPublishableKey: string;
2760
+ };
2761
+ sessionRecovery: {
2762
+ message: string;
2763
+ discard: string;
2764
+ resume: string;
2765
+ };
2766
+ dropzone: {
2767
+ ariaLabel: string;
2768
+ clearAriaLabel: string;
2769
+ clearTooltip: string;
2770
+ clearConfirmTitle: string;
2771
+ clearConfirmDescription: string;
2772
+ processing: string;
2773
+ restoredSession: string;
2774
+ prompt: string;
2775
+ or: string;
2776
+ browse: string;
2777
+ };
2778
+ upload: {
2779
+ expectedColumns: string;
2780
+ templatePrompt: string;
2781
+ templateCSV: string;
2782
+ templateXLSX: string;
2783
+ templateGenerating: string;
2784
+ /** Available: {format} */
2785
+ templateDownloadFormat: TemplateString<'format'>;
2786
+ templateDownload: string;
2787
+ };
2788
+ selectSheet: {
2789
+ title: string;
2790
+ subtitle: string;
2791
+ noWorksheets: string;
2792
+ preview: string;
2793
+ /** Available: {count} */
2794
+ columnCount: TemplateString<'count'>;
2795
+ /** Available: {count} */
2796
+ rowCount: TemplateString<'count'>;
2797
+ /** Available: {name} */
2798
+ inSheet: TemplateString<'name'>;
2799
+ sheetSelected: string;
2800
+ noColumns: string;
2801
+ needsMoreRows: string;
2802
+ };
2803
+ selectHeader: {
2804
+ loading: string;
2805
+ noData: string;
2806
+ noDataDescription: string;
2807
+ title: string;
2808
+ subtitle: string;
2809
+ validHeader: string;
2810
+ /** Available: {count} */
2811
+ emptyColumns: TemplateString<'count'>;
2812
+ allColumnsEmpty: string;
2813
+ emptyColumnsTooltip: string;
2814
+ /** Available: {displayed}, {total} */
2815
+ showingRows: TemplateString<'displayed' | 'total'>;
2816
+ showAll: string;
2817
+ moveUp: string;
2818
+ moveDown: string;
2819
+ };
2820
+ matchColumns: {
2821
+ loading: string;
2822
+ autoMatching: string;
2823
+ title: string;
2824
+ subtitle: string;
2825
+ csvColumnHeader: string;
2826
+ matchFieldHeader: string;
2827
+ selectFieldPlaceholder: string;
2828
+ searchFieldsPlaceholder: string;
2829
+ noFieldsFound: string;
2830
+ unmatchAll: string;
2831
+ unmatchAllConfirmTitle: string;
2832
+ unmatchAllConfirmDescription: string;
2833
+ allRequiredMatched: string;
2834
+ /** Available: {count} */
2835
+ matchingConflicts: TemplateString<'count'>;
2836
+ validationIssuesFound: string;
2837
+ goToNextConflict: string;
2838
+ /** Available: {count} */
2839
+ unmatchedRequiredFields: TemplateString<'count'>;
2840
+ requiredFieldsNotMatched: string;
2841
+ goToUnmatchedFields: string;
2842
+ /** Available: {count} */
2843
+ validationIssues: TemplateString<'count'>;
2844
+ goToNextIssue: string;
2845
+ addEmptyColumnsForRequired: string;
2846
+ /** Available: {fieldName} */
2847
+ createEmptyColumn: TemplateString<'fieldName'>;
2848
+ requiredFieldsNotAssigned: string;
2849
+ addEmptyColumnTooltip: string;
2850
+ previewTooltip: string;
2851
+ /** Available: {rowCount}, {columnName} */
2852
+ previewShowing: TemplateString<'rowCount' | 'columnName'>;
2853
+ };
2854
+ matchOptions: {
2855
+ loading: string;
2856
+ title: string;
2857
+ subtitle: string;
2858
+ csvValueHeader: string;
2859
+ matchOptionHeader: string;
2860
+ selectOptionPlaceholder: string;
2861
+ searchOptionsPlaceholder: string;
2862
+ noOptionsFound: string;
2863
+ optionalBadge: string;
2864
+ customValuesHint: string;
2865
+ /** Available: {count}, {remaining} */
2866
+ showMore: TemplateString<'count' | 'remaining'>;
2867
+ /** Available: {value} */
2868
+ useCustomValue: TemplateString<'value'>;
2869
+ allValuesMatched: string;
2870
+ /** Available: {count} */
2871
+ unmatchedValues: TemplateString<'count'>;
2872
+ unmatchedValuesFound: string;
2873
+ goToNextUnmatched: string;
2874
+ /** Available: {count} */
2875
+ valueCount: TemplateString<'count'>;
2876
+ };
2877
+ review: {
2878
+ completing: string;
2879
+ loading: string;
2880
+ title: string;
2881
+ subtitle: string;
2882
+ validating: string;
2883
+ noRecords: string;
2884
+ validatingCells: string;
2885
+ /** Available: {count} */
2886
+ allRecordsValid: TemplateString<'count'>;
2887
+ /** Available: {count} */
2888
+ recordCount: TemplateString<'count'>;
2889
+ filterAll: string;
2890
+ filterValid: string;
2891
+ filterInvalid: string;
2892
+ clearFilters: string;
2893
+ noInvalidRows: string;
2894
+ applyAutofix: string;
2895
+ invalidValue: string;
2896
+ undo: string;
2897
+ redo: string;
2898
+ /** Available: {count} */
2899
+ autofixCount: TemplateString<'count'>;
2900
+ /** Available: {count} */
2901
+ applyAllAutofixes: TemplateString<'count'>;
2902
+ /** Available: {description}, {count} */
2903
+ autofixItem: TemplateString<'description' | 'count'>;
2904
+ filter: string;
2905
+ actions: string;
2906
+ addRecord: string;
2907
+ /** Available: {count} */
2908
+ deleteSelectedRecords: TemplateString<'count'>;
2909
+ /** Available: {count} */
2910
+ exportSelectedRecords: TemplateString<'count'>;
2911
+ /** Available: {count} */
2912
+ exportFilteredRecords: TemplateString<'count'>;
2913
+ /** Available: {count} */
2914
+ exportAllRecords: TemplateString<'count'>;
2915
+ exportCSV: string;
2916
+ exportXLSX: string;
2917
+ sortAZ: string;
2918
+ sortZA: string;
2919
+ sortLowHigh: string;
2920
+ sortHighLow: string;
2921
+ sortOldestNewest: string;
2922
+ sortNewestOldest: string;
2923
+ sortEarlyLate: string;
2924
+ sortLateEarly: string;
2925
+ sortFalseTrue: string;
2926
+ sortTrueFalse: string;
2927
+ sortAscending: string;
2928
+ sortDescending: string;
2929
+ removeSort: string;
2930
+ unpinColumn: string;
2931
+ pinColumn: string;
2932
+ clearColumn: string;
2933
+ /** Available: {description} */
2934
+ columnAutofix: TemplateString<'description'>;
2935
+ applyAllColumnAutofixes: string;
2936
+ removeFilter: string;
2937
+ columnMenu: string;
2938
+ emptyDataTitle: string;
2939
+ emptyDataDescription: string;
2940
+ editFilter: string;
2941
+ filteredColumns: string;
2942
+ unfilteredColumns: string;
2943
+ columnsLabel: string;
2944
+ transformTooltip: string;
2945
+ transformTitle: string;
2946
+ transformClose: string;
2947
+ transformCloseDiscardTooltip: string;
2948
+ transformCloseTooltip: string;
2949
+ transformError: string;
2950
+ transformPlaceholder: string;
2951
+ transformGenerating: string;
2952
+ transformApplying: string;
2953
+ transformDiscard: string;
2954
+ transformApply: string;
2955
+ transformUnappliedTitle: string;
2956
+ transformUnappliedDescription: string;
2957
+ transformKeepEditing: string;
2958
+ transformDiscardClose: string;
2959
+ transformAbortTitle: string;
2960
+ transformAbortDescription: string;
2961
+ transformAbortClose: string;
2962
+ transformSubmit: string;
2963
+ };
2964
+ phantomColumn: {
2965
+ /** Available: {number} */
2966
+ defaultName: TemplateString<'number'>;
2967
+ remove: string;
2968
+ removeTooltip: string;
2969
+ };
2970
+ validation: {
2971
+ showOtherMatch: string;
2972
+ };
2973
+ status: {
2974
+ successTitle: string;
2975
+ successDescription: string;
2976
+ errorTitle: string;
2977
+ errorDescription: string;
2978
+ close: string;
2979
+ };
2980
+ steps: {
2981
+ upload: string;
2982
+ selectSheet: string;
2983
+ selectHeader: string;
2984
+ matchColumns: string;
2985
+ matchOptions: string;
2986
+ review: string;
2987
+ /** Available: {currentStep}, {totalSteps} */
2988
+ progress: TemplateString<'currentStep' | 'totalSteps'>;
2989
+ };
2990
+ }
2991
+
2992
+ /** User-facing locale type where every leaf is a plain `string`. */
2993
+ export declare type ExpressCSVLocaleInput = StripBrand<ExpressCSVLocale>;
2994
+
2995
+ /**
2996
+ * Core step identifiers for the CSV import wizard
2997
+ */
2998
+ export declare type ExpressCSVStep = 'upload' | 'select-sheet' | 'select-header' | 'match-columns' | 'match-options' | 'review';
2999
+
3000
+ declare type ExPrimitiveType = ExString | ExNumber | ExCurrencyNumber | ExPercentageNumber | ExBoolean | ExDate | ExTime | ExDatetime | ExSelect<string | number> | ExMultiselect<string | number> | ExOptionalPrimitiveType;
3001
+
3002
+ declare class ExRow<T extends ExRowShape> extends ExType<{
3003
+ [K in keyof T]: T[K] extends ExType<infer O, ExBaseDef, unknown> ? K extends string ? T['optionalColumnConfig'] extends {
3004
+ columns: Array<infer C>;
3005
+ } ? C extends K ? O | null : O : O : O : never;
3006
+ }, ExRowDef<T>> {
3007
+ /**
3008
+ * Factory method to create an ExRow validator for a row of data
3009
+ *
3010
+ * @param shape - Object defining the structure of fields in the row
3011
+ * @returns A new ExRow instance
3012
+ */
3013
+ static create<T extends ExRowShape>(shape: T): ExRow<T>;
3014
+ /**
3015
+ * Specifies columns that can be null/optional with conditional logic
3016
+ *
3017
+ * @param columns - Array of column keys to make optional
3018
+ * @param options - Configuration options
3019
+ * @param options.when - Optional function to determine when columns should be optional
3020
+ * @returns The ExRow instance with optional columns configuration
3021
+ */
3022
+ optionalColumns<K extends keyof T>(columns: K[], options?: {
3023
+ when?: (row: {
3024
+ [P in keyof T]: T[P] extends ExType<infer O, ExBaseDef, unknown> ? O : never;
3025
+ }) => boolean | Promise<boolean>;
3026
+ }): ExRowWithOptionalColumns<T, K>;
3027
+ /**
3028
+ * Specifies unique constraints on columns in the row
3029
+ *
3030
+ * @param columns - Array of column keys or a single column key that form the unique constraint
3031
+ * @param options - Configuration options
3032
+ * @param options.key - Optional function to generate a unique key from column values
3033
+ * @returns The ExRow instance for method chaining
3034
+ */
3035
+ unique<K extends keyof T>(columns: K[] | K, options?: {
3036
+ key?: (values: {
3037
+ [P in K]: T[P] extends ExType<infer O, ExBaseDef, unknown> ? O | null : never;
3038
+ }) => string | Promise<string>;
3039
+ }): this;
3040
+ /**
3041
+ * Adds metadata to the row definition
3042
+ *
3043
+ * @param metadata - Metadata object
3044
+ * @param metadata.description - Optional description of the row
3045
+ * @returns The ExRow instance for method chaining
3046
+ */
3047
+ meta(metadata: {
3048
+ description?: string;
3049
+ }): this;
3050
+ /**
3051
+ * Sets the minimum number of rows required
3052
+ *
3053
+ * @param count - Minimum number of rows (must be a non-negative integer)
3054
+ * @returns The ExRow instance for method chaining
3055
+ */
3056
+ minRows(count: number): this;
3057
+ /**
3058
+ * Sets the maximum number of rows allowed
3059
+ *
3060
+ * @param count - Maximum number of rows (must be a positive integer)
3061
+ * @returns The ExRow instance for method chaining
3062
+ */
3063
+ maxRows(count: number): this;
3064
+ }
3065
+
3066
+ declare interface ExRowDef<T extends ExRowShape> extends ExBaseDef {
3067
+ typeName: 'ExRow';
3068
+ shape: T;
3069
+ meta?: {
3070
+ description?: string;
3071
+ };
3072
+ rowCountConfig?: {
3073
+ minRows?: number;
3074
+ maxRows?: number;
3075
+ };
3076
+ optionalColumnConfig?: {
3077
+ columns: Array<keyof T>;
3078
+ when?: (row: {
3079
+ [K in keyof T]: T[K] extends ExType<infer O, ExBaseDef, unknown> ? O : never;
3080
+ }) => boolean | Promise<boolean>;
3081
+ whenMap?: Record<string, (row: {
3082
+ [K in keyof T]: T[K] extends ExType<infer O, ExBaseDef, unknown> ? O : never;
3083
+ }) => boolean | Promise<boolean>>;
3084
+ };
3085
+ uniqueColumnConfig?: {
3086
+ uniqueConstraints: Array<{
3087
+ id: string;
3088
+ columns: Array<keyof T>;
3089
+ key?: (values: {
3090
+ [K in keyof T]: T[K] extends ExType<infer O, ExBaseDef, unknown> ? O | null : never;
3091
+ }) => string | Promise<string>;
3092
+ }>;
3093
+ };
3094
+ }
3095
+
3096
+ declare type ExRowShape = Record<string, ExPrimitiveType>;
3097
+
3098
+ declare type ExRowWithOptionalColumns<T extends ExRowShape, K extends keyof T> = ExType<{
3099
+ [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;
3100
+ }, ExRowDef<T>> & {
3101
+ optionalColumns<J extends keyof T>(columns: J[], options?: {
3102
+ when?: (row: {
3103
+ [P in keyof T]: T[P] extends ExType<infer O, ExBaseDef, unknown> ? O : never;
3104
+ }) => boolean | Promise<boolean>;
3105
+ }): ExRowWithOptionalColumns<T, J | K>;
3106
+ unique<J extends keyof T>(columns: J[] | J, options?: {
3107
+ key?: (values: {
3108
+ [P in J]: T[P] extends ExType<infer O, ExBaseDef, unknown> ? O | null : never;
3109
+ }) => string | Promise<string>;
3110
+ }): ExRowWithOptionalColumns<T, K>;
3111
+ meta(metadata: {
3112
+ description?: string;
3113
+ }): ExRowWithOptionalColumns<T, K>;
3114
+ minRows(count: number): ExRowWithOptionalColumns<T, K>;
3115
+ maxRows(count: number): ExRowWithOptionalColumns<T, K>;
3116
+ };
3117
+
3118
+ declare class ExSelect<TValue extends string | number = string | number> extends PrimitiveExType<TValue, ExSelectDef<TValue>> {
3119
+ /**
3120
+ * Factory method to create an ExSelect validator for single selection
3121
+ *
3122
+ * @param options - Array of select options with labels and values
3123
+ * @param config - Configuration options
3124
+ * @param config.enforceCaseSensitiveMatch - Whether to enforce case-sensitive matching
3125
+ * @param config.allowCustom - When true, allows custom values not in the options list
3126
+ * @param config.message - Custom error message for validation failures
3127
+ * @returns A new ExSelect instance
3128
+ */
3129
+ static create<const T extends readonly (SelectOption & {
3130
+ value: string | number;
3131
+ })[], TAllowCustom extends boolean = false>(options: T, config?: SelectOptions & {
3132
+ allowCustom?: TAllowCustom;
3133
+ }): TAllowCustom extends true ? ExSelect<string | number> : ExSelect<T[number]['value']>;
3134
+ /**
3135
+ * Creates an optional version of this select type
3136
+ *
3137
+ * @returns An optional version of this select type
3138
+ */
3139
+ optional(): ExOptionalSelect<TValue>;
3140
+ /**
3141
+ * Sets case sensitive matching for option values
3142
+ *
3143
+ * @param enabled - Whether to enable case-sensitive matching
3144
+ * @returns The ExSelect instance for method chaining
3145
+ */
3146
+ caseSensitive(enabled?: boolean): this;
3147
+ }
3148
+
3149
+ declare interface ExSelectDef<TValue extends string | number = string | number> extends PrimitiveExBaseDef {
3150
+ typeName: 'ExSelect';
3151
+ options: SelectOption<TValue>[];
3152
+ config: {
3153
+ enforceCaseSensitiveMatch: boolean;
3154
+ allowCustom?: boolean;
3155
+ };
3156
+ checks: ValidatorCheck[];
3157
+ _value?: TValue;
3158
+ message?: string;
3159
+ }
3160
+
3161
+ declare class ExString extends PrimitiveExType<string, ExStringDef> {
3162
+ /**
3163
+ * Factory method to create an ExString validator
3164
+ *
3165
+ * @param options - Configuration options
3166
+ * @param options.message - Optional custom error message for validation failures
3167
+ * @returns A new ExString instance
3168
+ */
3169
+ static create(options?: {
3170
+ message?: string;
3171
+ }): ExString;
3172
+ /**
3173
+ * Creates an optional version of this type
3174
+ *
3175
+ * @returns An optional version of this type
3176
+ */
3177
+ optional(): ExOptionalString;
3178
+ /**
3179
+ * Validates that the string is a valid UUID
3180
+ *
3181
+ * @param options - Configuration options
3182
+ * @param options.version - UUID version to validate against ('v1', 'v4', 'v5', 'all')
3183
+ * @param options.message - Custom error message for validation failures
3184
+ * @returns The ExString instance for method chaining
3185
+ */
3186
+ uuid(options?: {
3187
+ version?: UUIDVersion;
3188
+ message?: string;
3189
+ }): this;
3190
+ /**
3191
+ * Validates that the string is a valid IP address
3192
+ *
3193
+ * @param options - Configuration options
3194
+ * @param options.version - IP version to validate against ('v4', 'v6', 'all')
3195
+ * @param options.message - Custom error message for validation failures
3196
+ * @returns The ExString instance for method chaining
3197
+ */
3198
+ ip(options?: {
3199
+ version?: IPAddressVersion;
3200
+ message?: string;
3201
+ }): this;
3202
+ /**
3203
+ * Validates that the string is a valid URL
3204
+ *
3205
+ * @param options - Configuration options for URL validation
3206
+ * @param options.allowedProtocols - List of allowed protocols
3207
+ * @param options.allowedDomains - List of allowed domains
3208
+ * @param options.allowSubdomains - Whether to allow subdomains
3209
+ * @param options.allowPaths - Whether to allow paths
3210
+ * @param options.allowQueryParams - Whether to allow query parameters
3211
+ * @param options.message - Custom error message
3212
+ * @returns The ExString instance for method chaining
3213
+ */
3214
+ url(options?: URLOptions): this;
3215
+ /**
3216
+ * Validates that the string is a valid email address
3217
+ *
3218
+ * @param options - Configuration options
3219
+ * @param options.message - Custom error message for validation failures
3220
+ * @returns The ExString instance for method chaining
3221
+ */
3222
+ email(options?: {
3223
+ message?: string;
3224
+ }): this;
3225
+ /**
3226
+ * Validates that the string is a valid phone number
3227
+ *
3228
+ * @param options - Configuration options for phone validation
3229
+ * @param options.allowedCountries - Array of ISO 3166-1 alpha-2 country codes (e.g., ["US", "FR"])
3230
+ * @param options.format - The expected input format ("international", "national", or "both")
3231
+ * @param options.output - How the phone number should be normalized ("e164", "formatted", or "digits")
3232
+ * @param options.message - Custom error message
3233
+ * @returns The ExString instance for method chaining
3234
+ */
3235
+ phone(options?: PhoneOptions): this;
3236
+ /**
3237
+ * Validates that the string represents a valid country
3238
+ *
3239
+ * @param options - Configuration options for country validation
3240
+ * @param options.output - The format to output the country ("name", "2-letter", or "3-letter")
3241
+ * @param options.message - Custom error message
3242
+ * @returns The ExString instance for method chaining
3243
+ */
3244
+ country(options?: CountryOptions): this;
3245
+ /**
3246
+ * Validates that the string length is at most maxLength
3247
+ *
3248
+ * @param maxLength - Maximum allowed length
3249
+ * @param options - Configuration options
3250
+ * @param options.message - Custom error message for validation failures
3251
+ * @returns The ExString instance for method chaining
3252
+ */
3253
+ max(maxLength: number, options?: {
3254
+ message?: string;
3255
+ }): this;
3256
+ /**
3257
+ * Validates that the string length is at least minLength
3258
+ *
3259
+ * @param minLength - Minimum allowed length
3260
+ * @param options - Configuration options
3261
+ * @param options.message - Custom error message for validation failures
3262
+ * @returns The ExString instance for method chaining
3263
+ */
3264
+ min(minLength: number, options?: {
3265
+ message?: string;
3266
+ }): this;
3267
+ /**
3268
+ * Validates that the string has exactly the specified length
3269
+ *
3270
+ * @param exactLength - Required exact length
3271
+ * @param options - Configuration options
3272
+ * @param options.message - Custom error message for validation failures
3273
+ * @returns The ExString instance for method chaining
3274
+ */
3275
+ length(exactLength: number, options?: {
3276
+ message?: string;
3277
+ }): this;
3278
+ /**
3279
+ * Validates that the string includes the specified substring
3280
+ *
3281
+ * @param substring - Substring that must be included
3282
+ * @param options - Configuration options
3283
+ * @param options.message - Custom error message for validation failures
3284
+ * @returns The ExString instance for method chaining
3285
+ */
3286
+ includes(substring: string, options?: {
3287
+ message?: string;
3288
+ }): this;
3289
+ /**
3290
+ * Validates that the string starts with the specified prefix
3291
+ *
3292
+ * @param prefix - Required starting prefix
3293
+ * @param options - Configuration options
3294
+ * @param options.message - Custom error message for validation failures
3295
+ * @returns The ExString instance for method chaining
3296
+ */
3297
+ startsWith(prefix: string, options?: {
3298
+ message?: string;
3299
+ }): this;
3300
+ /**
3301
+ * Validates that the string ends with the specified suffix
3302
+ *
3303
+ * @param suffix - Required ending suffix
3304
+ * @param options - Configuration options
3305
+ * @param options.message - Custom error message for validation failures
3306
+ * @returns The ExString instance for method chaining
3307
+ */
3308
+ endsWith(suffix: string, options?: {
3309
+ message?: string;
3310
+ }): this;
3311
+ /**
3312
+ * Validates that the string matches the specified regular expression
3313
+ *
3314
+ * @param pattern - Regular expression pattern to match
3315
+ * @param options - Configuration options
3316
+ * @param options.message - Custom error message for validation failures
3317
+ * @returns The ExString instance for method chaining
3318
+ */
3319
+ regex(pattern: RegExp, options?: {
3320
+ message?: string;
3321
+ }): this;
3322
+ /**
3323
+ * Validates that the string contains only alphabetical characters
3324
+ *
3325
+ * @param options - Configuration options
3326
+ * @param options.message - Custom error message for validation failures
3327
+ * @returns The ExString instance for method chaining
3328
+ */
3329
+ alphabetical(options?: {
3330
+ message?: string;
3331
+ }): this;
3332
+ /**
3333
+ * Validates that the string contains only alphanumeric characters
3334
+ *
3335
+ * @param options - Configuration options
3336
+ * @param options.message - Custom error message for validation failures
3337
+ * @returns The ExString instance for method chaining
3338
+ */
3339
+ alphanumerical(options?: {
3340
+ message?: string;
3341
+ }): this;
3342
+ /**
3343
+ * Validates that the string represents a numeric value
3344
+ *
3345
+ * @param options - Configuration options
3346
+ * @param options.message - Custom error message for validation failures
3347
+ * @returns The ExString instance for method chaining
3348
+ */
3349
+ numerical(options?: {
3350
+ message?: string;
3351
+ }): this;
3352
+ /**
3353
+ * Validates that the string is a valid IBAN (International Bank Account Number)
3354
+ *
3355
+ * @param options - Configuration options for IBAN validation
3356
+ * @param options.allowedCountries - Array of country codes to restrict validation to (e.g., ["DE", "FR"])
3357
+ * @param options.message - Custom error message
3358
+ * @returns The ExString instance for method chaining
3359
+ */
3360
+ iban(options?: IbanOptions): this;
3361
+ /**
3362
+ * Validates that the string is a valid BIC/SWIFT code
3363
+ *
3364
+ * @param options - Configuration options for BIC validation
3365
+ * @param options.message - Custom error message
3366
+ * @returns The ExString instance for method chaining
3367
+ */
3368
+ bic(options?: BICOptions): this;
3369
+ /**
3370
+ * Validates that the string is a valid GTIN (Global Trade Item Number)
3371
+ * Supports GTIN-8, GTIN-12, GTIN-13, or GTIN-14 formats
3372
+ *
3373
+ * @param options - Configuration options for GTIN validation
3374
+ * @param options.message - Custom error message
3375
+ * @returns The ExString instance for method chaining
3376
+ */
3377
+ gtin(options?: GTINOptions): this;
3378
+ /**
3379
+ * Validates that the string is a valid ISO 4217 currency code
3380
+ *
3381
+ * @param options - Configuration options for currency code validation
3382
+ * @param options.allowedCurrencies - Array of specific currency codes to limit validation to
3383
+ * @param options.message - Custom error message
3384
+ * @returns The ExString instance for method chaining
3385
+ */
3386
+ currencyCode(options?: CurrencyCodeOptions): this;
3387
+ }
3388
+
3389
+ declare interface ExStringDef extends PrimitiveExBaseDef {
3390
+ typeName: 'ExString';
3391
+ checks: ValidatorCheck[];
3392
+ }
3393
+
3394
+ declare class ExTime extends PrimitiveExType<string, ExTimeDef> {
3395
+ /**
3396
+ * Factory method to create an ExTime validator
3397
+ *
3398
+ * @param options - Configuration options
3399
+ * @param options.message - Optional custom error message for validation failures
3400
+ * @returns A new ExTime instance
3401
+ */
3402
+ static create(options?: TimeOptions): ExTime;
3403
+ /**
3404
+ * Creates an optional version of this type
3405
+ *
3406
+ * @returns An optional version of this type
3407
+ */
3408
+ optional(): ExOptionalTime;
3409
+ /**
3410
+ * Sets precision for milliseconds in the time
3411
+ *
3412
+ * @param precision - Number of millisecond decimal places
3413
+ * @param options - Configuration options
3414
+ * @param options.message - Custom error message for validation failures
3415
+ * @returns The ExTime instance for method chaining
3416
+ */
3417
+ precision(precision: number, options?: {
3418
+ message?: string;
3419
+ }): this;
3420
+ }
3421
+
3422
+ declare interface ExTimeDef extends PrimitiveExBaseDef {
3423
+ typeName: 'ExTime';
3424
+ precision?: number | null;
3425
+ message?: string;
3426
+ checks: ValidatorCheck[];
3427
+ }
3428
+
3429
+ declare abstract class ExType<Output, Def extends ExBaseDef, Input = Output> {
3430
+ _def: Def;
3431
+ _output: Output;
3432
+ _input: Input;
3433
+ /**
3434
+ * Creates a new ExType instance
3435
+ *
3436
+ * @param def - Definition object for this type
3437
+ */
3438
+ constructor(def: Def);
3439
+ /**
3440
+ * Protected method to create a validation check
3441
+ *
3442
+ * @param type - Type of check
3443
+ * @param params - Parameters for the check
3444
+ * @param message - Optional error message
3445
+ * @returns A ValidatorCheck object
3446
+ */
3447
+ protected _addCheck(type: string, params?: Record<string, unknown>, message?: string): ValidatorCheck;
3448
+ }
3449
+
3450
+ declare interface GTINOptions {
3451
+ message?: string;
3452
+ }
3453
+
3454
+ declare interface IbanOptions {
3455
+ allowedCountries?: CountryTwoLetterCode[];
3456
+ message?: string;
3457
+ }
3458
+
3459
+ /**
3460
+ * Error thrown when the user cancels the import operation
3461
+ */
3462
+ export declare class ImportCancelledError extends Error {
3463
+ constructor(message?: string);
3464
+ }
3465
+
3466
+ export declare type Infer<T extends ExType<unknown, ExBaseDef, unknown>> = T extends ExType<infer Output, ExBaseDef, unknown> ? Output : never;
3467
+
3468
+ declare type IPAddressVersion = 'v4' | 'v6' | 'all';
3469
+
3470
+ declare interface MultiselectOptions {
3471
+ enforceCaseSensitiveMatch?: boolean;
3472
+ message?: string;
3473
+ }
3474
+
3475
+ /**
3476
+ * Options for the open() method
3477
+ * Requires at least one of onData or webhook for delivery
3478
+ */
3479
+ export declare type OpenOptions<T> = RequireAtLeastOne<DeliveryOptionsBase<T>, 'onData' | 'webhook'> & {
3480
+ /** Number of records per chunk (default: 1000) */
3481
+ chunkSize?: number;
3482
+ /** Called when all chunks have been processed */
3483
+ onComplete?: () => void;
3484
+ /** Called when the user cancels the import */
3485
+ onCancel?: () => void;
3486
+ /** Called when an error occurs */
3487
+ onError?: (error: Error) => void;
3488
+ /** Called when the widget opens */
3489
+ onWidgetOpen?: () => void;
3490
+ /** Called when the step changes in the wizard */
3491
+ onStepChange?: (stepId: ExpressCSVStep, previousStepId?: ExpressCSVStep) => void;
3492
+ /** Called when the widget closes */
3493
+ onWidgetClose?: (reason: 'user_close' | 'cancel' | 'complete' | 'error') => void;
3494
+ };
3495
+
3496
+ declare type PhoneNumberFormat = 'international' | 'national' | 'both';
3497
+
3498
+ declare type PhoneNumberOutput = 'e164' | 'formatted' | 'digits';
3499
+
3500
+ declare interface PhoneOptions {
3501
+ allowedCountries?: CountryTwoLetterCode[];
3502
+ format?: PhoneNumberFormat;
3503
+ output?: PhoneNumberOutput;
3504
+ message?: string;
3505
+ }
3506
+
3507
+ declare interface PrimitiveExBaseDef extends ExBaseDef {
3508
+ columnNameAliases?: string[];
3509
+ description?: string;
3510
+ label?: string;
3511
+ example?: string;
3512
+ message?: string;
3513
+ checks?: ValidatorCheck[];
3514
+ defaultValue?: unknown | (() => unknown);
3515
+ }
3516
+
3517
+ declare abstract class PrimitiveExType<Output, Def extends PrimitiveExBaseDef, Input = Output> extends ExType<Output, Def, Input> {
3518
+ /**
3519
+ * Sets column name aliases for this field
3520
+ *
3521
+ * @param aliases - Array of alternative column names that can map to this field
3522
+ * @returns The type instance for method chaining
3523
+ */
3524
+ columnNameAliases(aliases: string[]): this;
3525
+ /**
3526
+ * Sets a description for this field
3527
+ *
3528
+ * @param text - Description text
3529
+ * @returns The type instance for method chaining
3530
+ */
3531
+ description(text: string): this;
3532
+ /**
3533
+ * Sets a display label for this field
3534
+ *
3535
+ * @param text - Label text
3536
+ * @returns The type instance for method chaining
3537
+ */
3538
+ label(text: string): this;
3539
+ /**
3540
+ * Sets an example value for this field
3541
+ *
3542
+ * @param text - Example text
3543
+ * @returns The type instance for method chaining
3544
+ */
3545
+ example(text: string): this;
3546
+ /**
3547
+ * Adds a custom refinement validator to this field.
3548
+ *
3549
+ * Supports two calling styles:
3550
+ * 1. Boolean validator with optional params:
3551
+ * `.refine((value) => value > 0, { message: 'Must be positive' })`
3552
+ * 2. Object-returning validator (like refineBatch for a single value):
3553
+ * `.refine((value) => ({ valid: value > 0, message: 'Must be positive', suggestedFix: {...} }))`
3554
+ *
3555
+ * @param validator - Function or RegExp that validates the data
3556
+ * @param params - Additional parameters or function that returns parameters (only for boolean validators)
3557
+ * @returns The type instance for method chaining
3558
+ */
3559
+ refine<T extends Output>(validator: ((data: NonNullable<T>) => RefineResultItem | Promise<RefineResultItem> | unknown | Promise<unknown>) | RegExp, params?: RefineParams | ((data: NonNullable<T>) => RefineParams)): this;
3560
+ /**
3561
+ * Adds a batch refinement validator that validates all column values at once
3562
+ *
3563
+ * @param validator - Function that receives all values and returns validation results, or RegExp for per-value validation
3564
+ * @param params - Additional parameters including fallback error message
3565
+ * @returns The type instance for method chaining
3566
+ */
3567
+ refineBatch<T extends Output>(validator: ((data: NonNullable<T>[]) => RefineBatchResultItem[] | Promise<RefineBatchResultItem[]>) | RegExp, params?: RefineParams): this;
3568
+ /**
3569
+ * Protected method to find an existing check by type
3570
+ *
3571
+ * @param type - Type of check to find
3572
+ * @returns Object with the check, its index, and whether it was found
3573
+ */
3574
+ protected _findExistingCheck(type: string): {
3575
+ check: ValidatorCheck | undefined;
3576
+ index: number;
3577
+ found: boolean;
3578
+ };
3579
+ /**
3580
+ * Protected method to replace an existing check or add a new one
3581
+ *
3582
+ * @param check - The check to add or replace with
3583
+ * @param existingIndex - Index of existing check, or -1 if none exists
3584
+ */
3585
+ protected _replaceOrAddCheck(check: ValidatorCheck, existingIndex: number): void;
3586
+ }
3587
+
3588
+ declare type Protocol = 'http' | 'https' | 'ftp' | 'sftp' | 'file' | 'mailto' | 'tel';
3589
+
3590
+ /**
3591
+ * A chunk of records passed to the onData callback
3592
+ */
3593
+ export declare interface RecordsChunk<T> {
3594
+ /** The records in this chunk */
3595
+ records: T[];
3596
+ /** Total number of chunks */
3597
+ totalChunks: number;
3598
+ /** Current chunk index (0-based) */
3599
+ currentChunkIndex: number;
3600
+ /** Total number of records across all chunks */
3601
+ totalRecords: number;
3602
+ }
3603
+
3604
+ declare type RefineBatchResultItem = {
3605
+ valid: boolean;
3606
+ message?: string;
3607
+ suggestedFix?: {
3608
+ id: string;
3609
+ value: unknown;
3610
+ description: string;
3611
+ };
3612
+ };
3613
+
3614
+ declare type RefineParams = {
3615
+ message?: string;
3616
+ suggestedFix?: {
3617
+ id: string;
3618
+ value: unknown;
3619
+ description: string;
3620
+ };
3621
+ };
3622
+
3623
+ declare type RefineResultItem = {
3624
+ valid: boolean;
3625
+ message?: string;
3626
+ suggestedFix?: {
3627
+ id: string;
3628
+ value: unknown;
3629
+ description: string;
3630
+ };
3631
+ };
3632
+
3633
+ /**
3634
+ * Type helper that requires at least one of the specified keys to be present
3635
+ */
3636
+ declare type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> & {
3637
+ [K in Keys]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>>;
3638
+ }[Keys];
3639
+
3640
+ declare interface SelectOption<TValue extends string | number = string | number> {
3641
+ label: string;
3642
+ value: TValue;
3643
+ alsoMatches?: (string | RegExp)[];
3644
+ }
3645
+
3646
+ declare interface SelectOptions {
3647
+ enforceCaseSensitiveMatch?: boolean;
3648
+ allowCustom?: boolean;
3649
+ message?: string;
3650
+ }
3651
+
3652
+ declare type StripBrand<T> = {
3653
+ [K in keyof T]: T[K] extends TemplateString<string> ? string : T[K] extends object ? StripBrand<T[K]> : T[K];
3654
+ };
3655
+
3656
+ /**
3657
+ * Tailwind CSS variables for theming
3658
+ * These variables override :root values in globals.css when scoped to .ecsv
3659
+ */
3660
+ export declare interface TailwindThemeVars {
3661
+ radius?: string;
3662
+ background?: string;
3663
+ foreground?: string;
3664
+ card?: string;
3665
+ 'card-foreground'?: string;
3666
+ popover?: string;
3667
+ 'popover-foreground'?: string;
3668
+ primary?: string;
3669
+ 'primary-foreground'?: string;
3670
+ secondary?: string;
3671
+ 'secondary-foreground'?: string;
3672
+ muted?: string;
3673
+ 'muted-foreground'?: string;
3674
+ accent?: string;
3675
+ 'accent-foreground'?: string;
3676
+ destructive?: string;
3677
+ 'destructive-foreground'?: string;
3678
+ success?: string;
3679
+ 'success-foreground'?: string;
3680
+ warning?: string;
3681
+ 'warning-foreground'?: string;
3682
+ border?: string;
3683
+ input?: string;
3684
+ ring?: string;
3685
+ 'font-title'?: string;
3686
+ 'font-body'?: string;
3687
+ }
3688
+
3689
+ /**
3690
+ * Configuration for template download in the upload step.
3691
+ * When `source` is `"generate"`, a header-only template file is created
3692
+ * client-side from the schema column names.
3693
+ */
3694
+ export declare interface TemplateDownloadConfig {
3695
+ source: 'generate';
3696
+ formats?: TemplateDownloadFormat[];
3697
+ }
3698
+
3699
+ /**
3700
+ * Template download format
3701
+ */
3702
+ export declare type TemplateDownloadFormat = 'csv' | 'xlsx';
3703
+
3704
+ /**
3705
+ * A branded string type for locale entries that require interpolation via `{variable}` syntax.
3706
+ * Widget code cannot render a `TemplateString` directly in JSX — it must go through the `t()` function.
3707
+ * The generic `TVars` encodes the expected variable names so `t()` enforces the correct vars argument.
3708
+ */
3709
+ declare type TemplateString<TVars extends string = string> = string & {
3710
+ readonly __brand: 'TemplateString';
3711
+ readonly __vars: TVars;
3712
+ };
3713
+
3714
+ /**
3715
+ * Time validation options
3716
+ */
3717
+ declare interface TimeOptions {
3718
+ message?: string;
3719
+ }
3720
+
3721
+ declare interface URLOptions {
3722
+ allowedProtocols?: Protocol[];
3723
+ allowedDomains?: string[];
3724
+ allowSubdomains?: boolean;
3725
+ allowPaths?: boolean;
3726
+ allowQueryParams?: boolean;
3727
+ message?: string;
3728
+ }
3729
+
3730
+ export declare function useExpressCSV<TSchema extends ExType<unknown, ExBaseDef, unknown>>({ schema, title, importIdentifier, publishableKey, debug, preload, theme, colorMode, customCSS, fonts, stepDisplay, previewSchemaBeforeUpload, templateDownload, saveSession, locale, disableStatusStep, }: UseExpressCSVOptions<TSchema>): {
3731
+ open: (options: OpenOptions<Infer<TSchema>>) => void;
3732
+ widgetState: WidgetState;
3733
+ isInitialising: boolean;
3734
+ isOpen: boolean;
3735
+ };
3736
+
3737
+ export declare interface UseExpressCSVOptions<TSchema extends ExType<unknown, ExBaseDef, unknown>> {
3738
+ schema: TSchema;
3739
+ title?: string;
3740
+ importIdentifier: string;
3741
+ publishableKey: string;
3742
+ debug?: boolean;
3743
+ preload?: boolean;
3744
+ theme?: ECSVTheme;
3745
+ colorMode?: ColorModePref;
3746
+ customCSS?: string;
3747
+ fonts?: Record<string, ECSVFontSource>;
3748
+ stepDisplay?: 'progressBar' | 'segmented' | 'numbered';
3749
+ previewSchemaBeforeUpload?: boolean;
3750
+ templateDownload?: TemplateDownloadConfig;
3751
+ saveSession?: boolean;
3752
+ locale?: DeepPartial<ExpressCSVLocaleInput>;
3753
+ disableStatusStep?: boolean;
3754
+ }
3755
+
3756
+ declare type UUIDVersion = 'v1' | 'v4' | 'v5' | 'all';
3757
+
3758
+ declare interface ValidatorCheck {
3759
+ type: string;
3760
+ params?: Record<string, unknown>;
3761
+ message?: string;
3762
+ }
3763
+
3764
+ /**
3765
+ * Webhook configuration for remote delivery of results
3766
+ */
3767
+ export declare interface WebhookConfig {
3768
+ /** The URL to send webhook requests to */
3769
+ url: string;
3770
+ /** Optional HTTP headers to include in the request */
3771
+ headers?: Record<string, string>;
3772
+ /** HTTP method to use (default: 'POST') */
3773
+ method?: 'POST' | 'PUT' | 'PATCH';
3774
+ /** Request timeout in milliseconds (default: 30000) */
3775
+ timeout?: number;
3776
+ /** Number of retry attempts on failure (default: 0) */
3777
+ retries?: number;
3778
+ /** Arbitrary developer-provided metadata */
3779
+ metadata?: Record<string, unknown>;
3780
+ }
3781
+
3782
+ /**
3783
+ * Widget mode enumeration
3784
+ */
3785
+ export declare enum WidgetMode {
3786
+ NORMAL = "normal",
3787
+ PRELOAD = "preload"
3788
+ }
3789
+
3790
+ /**
3791
+ * Widget state enumeration for consistent state management
3792
+ */
3793
+ export declare enum WidgetState {
3794
+ UNINITIALIZED = "uninitialized",
3795
+ INITIALIZING = "initializing",
3796
+ READY = "ready",
3797
+ OPENING = "opening",
3798
+ OPEN = "open",
3799
+ CLOSING = "closing",
3800
+ RESETTING = "resetting",
3801
+ ERROR = "error",
3802
+ DESTROYED = "destroyed"
3803
+ }
3804
+
3805
+ export declare const x: {
3806
+ string: typeof ExString.create;
3807
+ number: typeof ExNumber.create;
3808
+ boolean: typeof ExBoolean.create;
3809
+ date: typeof ExDate.create;
3810
+ time: typeof ExTime.create;
3811
+ datetime: typeof ExDatetime.create;
3812
+ row: typeof ExRow.create;
3813
+ select: typeof ExSelect.create;
3814
+ multiselect: typeof ExMultiselect.create;
3815
+ infer: <T extends ExType<unknown, ExBaseDef, unknown>>(_schema: T) => Infer<T>;
3816
+ };
3817
+
3818
+ export { }