@microblink/blinkid-core 7.0.0-next.5 → 7.0.0-next.7

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,3411 @@
1
+ import { finalizer } from 'comlink';
2
+ import { Remote } from 'comlink';
3
+ import type { SetOptional } from 'type-fest';
4
+
5
+ export declare type ActiveRecognizer = "singleSide" | "multiSide";
6
+
7
+ /**
8
+ * Detailed information about missing, invalid and extra fields.
9
+ */
10
+ export declare interface AdditionalProcessingInfo {
11
+ /** List of fields that were expected on the document but were missing. */
12
+ missingMandatoryFields: Array<FieldType>;
13
+ /** List of fields that contained characters which were not expected in that field. */
14
+ invalidCharacterFields: Array<FieldType>;
15
+ /** List of fields that weren't expected on the document but were present. */
16
+ extraPresentFields: Array<FieldType>;
17
+ imageExtractionFailures: Array<ImageExtractionType>;
18
+ }
19
+
20
+ /**
21
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
22
+ */
23
+ /**
24
+ * Detailed information about the address.
25
+ */
26
+ export declare interface AddressDetailedInfo {
27
+ /** The address street portion of the document owner. */
28
+ street: string;
29
+ /** The address postal code portion of the document owner. */
30
+ postalCode: string;
31
+ /** The address city portion of the document owner. */
32
+ city: string;
33
+ /** The address jurisdiction code portion of the document owner. */
34
+ jurisdiction: string;
35
+ }
36
+
37
+ /**
38
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
39
+ */
40
+ /** List of supported alphabets. */
41
+ export declare enum AlphabetType {
42
+ Latin = 0,
43
+ Arabic = 1,
44
+ Cyrillic = 2,
45
+ Greek = 3,
46
+ Count = 4
47
+ }
48
+
49
+ /**
50
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
51
+ */
52
+ /**
53
+ * AnonymizationMode is used to define level of anonymization
54
+ * performed on recognizer result.
55
+ */
56
+ export declare enum AnonymizationMode {
57
+ /**
58
+ * Anonymization will not be performed.
59
+ */
60
+ None = 0,
61
+ /**
62
+ * FullDocumentImage is anonymized with black boxes
63
+ * covering sensitive data.
64
+ */
65
+ ImageOnly = 1,
66
+ /**
67
+ * Result fields containing sensitive data are removed from result.
68
+ */
69
+ ResultFieldsOnly = 2,
70
+ /**
71
+ * This mode is combination of ImageOnly and ResultFieldsOnly modes.
72
+ */
73
+ FullResult = 3
74
+ }
75
+
76
+ /**
77
+ * Data extracted from barcode.
78
+ */
79
+ export declare interface BarcodeData {
80
+ /** Format of recognized barcode. */
81
+ barcodeFormat: BarcodeFormat;
82
+ /**
83
+ * True if returned result is uncertain, i.e. if scanned barcode was incomplete (i.e.
84
+ * (has parts of it missing).
85
+ */
86
+ uncertain: boolean;
87
+ /** String representation of data inside barcode. */
88
+ stringData: string;
89
+ /** The raw bytes contained inside barcode. */
90
+ rawBytes: Uint8Array;
91
+ }
92
+
93
+ /**
94
+ * Driver's license specific data for barcodes.
95
+ */
96
+ export declare interface BarcodeDriverLicenseDetailedInfo {
97
+ /** The driver license conditions. */
98
+ conditions: string;
99
+ /**
100
+ * The restrictions to driving privileges for the driver license owner.
101
+ */
102
+ restrictions: string;
103
+ /**
104
+ * The additional privileges granted to the driver license owner.
105
+ */
106
+ endorsements: string;
107
+ /**
108
+ * The type of vehicle the driver license owner has privilege to drive.
109
+ */
110
+ vehicleClass: string;
111
+ /**
112
+ * The additional information on vehicle class.
113
+ */
114
+ vehicleClassesInfo: Array<BarcodeVehicleClassInfo>;
115
+ }
116
+
117
+ /**
118
+ * Enum defining additional fields present in the barcode.
119
+ * Currently this is only used for AAMVACompliant documents.
120
+ */
121
+ export declare enum BarcodeElementKey {
122
+ /**
123
+ Mandatory on all driver's licenses. All barcodes which are using 3-track magnetic
124
+ stripe encoding used in the interest of smoothing a transition from legacy documents
125
+ shall be designated as "Magnetic". All barcodes which are using compact encoding
126
+ compliant with ISO/IEC 18013-2 shall be designated as "Compact". All barcodes (majority)
127
+ compliant with Mandatory PDF417 Bar Code of the American Association of Motor Vehicle
128
+ Administrators (AAMVA) Card Design Standard from AAMVA DL/ID-2000 standard to DL/ID-2013
129
+ shall be designated as "AAMVA".
130
+ */
131
+ DocumentType = 0,
132
+ /**
133
+ Mandatory on all driver's licenses.
134
+
135
+ AAMVA Version Number: This is a decimal value between 0 and 99 that
136
+ specifies the version level of the PDF417 bar code format. Version "0" and "00"
137
+ is reserved for bar codes printed to the specification of the American Association
138
+ of Motor Vehicle Administrators (AAMVA) prior to the adoption of the AAMVA DL/ID-2000
139
+ standard.
140
+
141
+ - All barcodes compliant with AAMVA DL/ID-2000 standard shall be designated Version "01."
142
+ - All barcodes compliant with AAMVA Card Design Specification version 1.0, dated 09-2003
143
+ shall be designated Version "02."
144
+ - All barcodes compliant with AAMVA Card Design Specification version 2.0, dated 03-2005
145
+ shall be designated Version "03."
146
+ - All barcodes compliant with AAMVA Card Design Standard version 1.0, dated 07-2009
147
+ shall be designated Version "04."
148
+ - All barcodes compliant with AAMVA Card Design Standard version 1.0, dated 07-2010
149
+ shall be designated Version "05."
150
+ - All barcodes compliant with AAMVA Card Design Standard version 1.0, dated 07-2011
151
+ shall be designated Version "06".
152
+ - All barcodes compliant with AAMVA Card Design Standard version 1.0, dated 06-2012
153
+ shall be designated Version "07".
154
+ - All barcodes compliant with this current AAMVA standard shall be designated "08".
155
+
156
+ Should a need arise requiring major revision to the format, this field provides the
157
+ means to accommodate additional revision.
158
+
159
+ If the document type is not "AAMVA", this field defines the version number of the
160
+ given document type's standard.
161
+ */
162
+ StandardVersionNumber = 1,
163
+ /**
164
+ Mandatory on all AAMVA, Magnetic and Compact barcodes.
165
+
166
+ Family name of the cardholder. (Family name is sometimes also called "last name" or "surname.")
167
+ Collect full name for record, print as many characters as possible on portrait side of DL/ID.
168
+ */
169
+ CustomerFamilyName = 2,
170
+ /**
171
+ Mandatory on all AAMVA, Magnetic and Compact barcodes.
172
+
173
+ First name of the cardholder.
174
+ */
175
+ CustomerFirstName = 3,
176
+ /**
177
+ Mandatory on all AAMVA, Magnetic and Compact barcodes.
178
+
179
+ Full name of the individual holding the Driver's License or ID.
180
+
181
+ The Name field contains up to four portions, separated with the "," delimiter:
182
+ Last Name (required)
183
+ , (required)
184
+ First Name (required)
185
+ , (required if other name portions follow, otherwise optional)
186
+ Middle Name(s) (optional)
187
+ , (required if other name portions follow, otherwise optional)
188
+ Suffix (optional)
189
+ , (optional)
190
+
191
+ If the individual has more than one middle name they are separated with space.
192
+ */
193
+ CustomerFullName = 4,
194
+ /**
195
+ Mandatory on all AAMVA, Magnetic and Compact barcodes.
196
+
197
+ Date on which the cardholder was born. (MMDDCCYY format)
198
+ */
199
+ DateOfBirth = 5,
200
+ /**
201
+ Mandatory on all AAMVA, Magnetic barcodes.
202
+ Optional on Compact barcodes.
203
+
204
+ Gender of the cardholder. 1 = male, 2 = female.
205
+ */
206
+ Sex = 6,
207
+ /**
208
+ Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 barcodes.
209
+ Optional on AAMVA 01, Magnetic and Compact barcodes.
210
+
211
+ Color of cardholder's eyes. (ANSI D-20 codes)
212
+
213
+ Code Description
214
+ BLK Black
215
+ BLU Blue
216
+ BRO Brown
217
+ GRY Gray
218
+ GRN Green
219
+ HAZ Hazel
220
+ MAR Maroon
221
+ PNK Pink
222
+ DIC Dichromatic
223
+ UNK Unknown
224
+ */
225
+ EyeColor = 7,
226
+ /**
227
+ Mandatory on all AAMVA and Magnetic barcodes.
228
+
229
+ On compact barcodes, use kFullAddress.
230
+
231
+ Street portion of the cardholder address.
232
+ The place where the registered driver of a vehicle (individual or corporation)
233
+ may be contacted such as a house number, street address, etc.
234
+ */
235
+ AddressStreet = 8,
236
+ /**
237
+ Mandatory on all AAMVA and Magnetic barcodes.
238
+
239
+ On compact barcodes, use kFullAddress.
240
+
241
+ City portion of the cardholder address.
242
+ */
243
+ AddressCity = 9,
244
+ /**
245
+ Mandatory on all AAMVA and Magnetic barcodes.
246
+
247
+ On compact barcodes, use kFullAddress.
248
+
249
+ State portion of the cardholder address.
250
+ */
251
+ AddressJurisdictionCode = 10,
252
+ /**
253
+ Mandatory on all AAMVA and Magnetic barcodes.
254
+
255
+ On compact barcodes, use FullAddress.
256
+
257
+ Postal code portion of the cardholder address in the U.S. and Canada. If the
258
+ trailing portion of the postal code in the U.S. is not known, zeros can be used
259
+ to fill the trailing set of numbers up to nine (9) digits.
260
+ */
261
+ AddressPostalCode = 11,
262
+ /**
263
+ Mandatory on all AAMVA and Magnetic barcodes.
264
+ Optional on Compact barcodes.
265
+
266
+ Full address of the individual holding the Driver's License or ID.
267
+
268
+ The full address field contains up to four portions, separated with the "," delimiter:
269
+ Street Address (required)
270
+ , (required if other address portions follow, otherwise optional)
271
+ City (optional)
272
+ , (required if other address portions follow, otherwise optional)
273
+ Jurisdiction Code (optional)
274
+ , (required if other address portions follow, otherwise optional)
275
+ ZIP - Postal Code (optional)
276
+
277
+ */
278
+ FullAddress = 12,
279
+ /**
280
+ Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
281
+ Optional on AAMVA 01 and Magnetic barcodes.
282
+
283
+ Height of cardholder, either in Inches or in Centimeters.
284
+
285
+ Inches (in): number of inches followed by " in"
286
+ example: 6'1'' = "73 in"
287
+
288
+ Centimeters (cm): number of centimeters followed by " cm"
289
+ example: 181 centimeters = "181 cm"
290
+ */
291
+ Height = 13,
292
+ /**
293
+ Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
294
+ Optional on AAMVA 01 and Magnetic barcodes.
295
+
296
+ Height of cardholder in Inches.
297
+ Example: 5'9'' = "69".
298
+ */
299
+ HeightIn = 14,
300
+ /**
301
+ Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 Compact barcodes.
302
+ Optional on AAMVA 01 and Magnetic barcodes.
303
+
304
+ Height of cardholder in Centimeters.
305
+ Example: 180 Centimeters = "180".
306
+ */
307
+ HeightCm = 15,
308
+ /**
309
+ Mandatory on AAMVA 04, 05, 06, 07, 08 barcodes.
310
+ Optional on AAMVA 01, 02, 03, Magnetic and Compcat barcodes.
311
+
312
+ Middle name(s) of the cardholder. In the case of multiple middle names they
313
+ shall be separated by space " ".
314
+ */
315
+ CustomerMiddleName = 16,
316
+ /**
317
+ Optional on all AAMVA, Magnetic and Compact barcodes.
318
+
319
+ Bald, black, blonde, brown, gray, red/auburn, sandy, white, unknown. If the issuing
320
+ jurisdiction wishes to abbreviate colors, the three-character codes provided in ANSI D20 must be
321
+ used.
322
+
323
+ Code Description
324
+ BAL Bald
325
+ BLK Black
326
+ BLN Blond
327
+ BRO Brown
328
+ GRY Grey
329
+ RED Red/Auburn
330
+ SDY Sandy
331
+ WHI White
332
+ UNK Unknown
333
+ */
334
+ HairColor = 17,
335
+ /**
336
+ Mandatory on AAMVA 02 barcodes.
337
+ Optional on AAMVA 01, 03, 04, 05, 06, 07, 08, Magnetic and Compact barcodes.
338
+
339
+ Name Suffix (If jurisdiction participates in systems requiring name suffix (PDPS, CDLIS, etc.),
340
+ the suffix must be collected and displayed on the DL/ID and in the MRT).
341
+ - JR (Junior)
342
+ - SR (Senior)
343
+ - 1ST or I (First)
344
+ - 2ND or II (Second)
345
+ - 3RD or III (Third)
346
+ - 4TH or IV (Fourth)
347
+ - 5TH or V (Fifth)
348
+ - 6TH or VI (Sixth)
349
+ - 7TH or VII (Seventh)
350
+ - 8TH or VIII (Eighth)
351
+ - 9TH or IX (Ninth)
352
+ */
353
+ NameSuffix = 18,
354
+ /**
355
+ Optional on all AAMVA and Compact barcodes.
356
+
357
+ Other name by which the cardholder is known. ALTERNATIVE NAME(S) of the individual
358
+ holding the Driver License or ID.
359
+
360
+ The Name field contains up to four portions, separated with the "," delimiter:
361
+ AKA Last Name (required)
362
+ , (required)
363
+ AKA First Name (required)
364
+ , (required if other name portions follow, otherwise optional)
365
+ AKA Middle Name(s) (optional)
366
+ , (required if other name portions follow, otherwise optional)
367
+ AKA Suffix (optional)
368
+ , (optional)
369
+
370
+ If the individual has more than one AKA middle name they are separated with space.
371
+ */
372
+ AKAFullName = 19,
373
+ /**
374
+ Optional on all AAMVA and Compact barcodes.
375
+
376
+ Other family name by which the cardholder is known.
377
+ */
378
+ AKAFamilyName = 20,
379
+ /**
380
+ Optional on all AAMVA and Compact barcodes.
381
+
382
+ Other given name by which the cardholder is known
383
+ */
384
+ AKAGivenName = 21,
385
+ /**
386
+ Optional on all AAMVA and Compact barcodes.
387
+
388
+ Other suffix by which the cardholder is known.
389
+
390
+ The Suffix Code Portion, if submitted, can contain only the Suffix Codes shown in the following
391
+ table (e.g., Andrew Johnson, III = JOHNSON@ANDREW@@3RD):
392
+
393
+ Suffix Meaning or Synonym
394
+ JR Junior
395
+ SR Senior or Esquire 1ST First
396
+ 2ND Second
397
+ 3RD Third
398
+ 4TH Fourth
399
+ 5TH Fifth
400
+ 6TH Sixth
401
+ 7TH Seventh
402
+ 8TH Eighth
403
+ 9TH Ninth
404
+ */
405
+ AKASuffixName = 22,
406
+ /**
407
+ Mandatory on AAMVA 02 barcodes.
408
+ Optional on AAMVA 01, 03, 04, 05, 06, 07, 08, Magnetic and Compact barcodes.
409
+
410
+ Indicates the approximate weight range of the cardholder:
411
+ 0 = up to 31 kg (up to 70 lbs)
412
+ 1 = 32 – 45 kg (71 – 100 lbs)
413
+ 2 = 46 - 59 kg (101 – 130 lbs)
414
+ 3 = 60 - 70 kg (131 – 160 lbs)
415
+ 4 = 71 - 86 kg (161 – 190 lbs)
416
+ 5 = 87 - 100 kg (191 – 220 lbs)
417
+ 6 = 101 - 113 kg (221 – 250 lbs)
418
+ 7 = 114 - 127 kg (251 – 280 lbs)
419
+ 8 = 128 – 145 kg (281 – 320 lbs)
420
+ 9 = 146+ kg (321+ lbs)
421
+ */
422
+ WeightRange = 23,
423
+ /**
424
+ Mandatory on AAMVA 02 barcodes.
425
+ Optional on AAMVA 01, 03, 04, 05, 06, 07, 08, Magnetic and Compact barcodes.
426
+
427
+ Cardholder weight in pounds Example: 185 lb = "185"
428
+ */
429
+ WeightPounds = 24,
430
+ /**
431
+ Mandatory on AAMVA 02 barcodes.
432
+ Optional on AAMVA 01, 03, 04, 05, 06, 07, 08, Magnetic and Compact barcodes.
433
+
434
+ Cardholder weight in kilograms Example: 84 kg = "084"
435
+ */
436
+ WeightKilograms = 25,
437
+ /**
438
+ Mandatory on all AAMVA and Compact barcodes.
439
+
440
+ The number assigned or calculated by the issuing authority.
441
+ */
442
+ CustomerIdNumber = 26,
443
+ /**
444
+ Mandatory on AAMVA 04, 05, 06, 07, 08 barcodes.
445
+ Optional on Compact barcodes.
446
+
447
+ A code that indicates whether a field has been truncated (T), has not been
448
+ truncated (N), or – unknown whether truncated (U).
449
+ */
450
+ FamilyNameTruncation = 27,
451
+ /**
452
+ Mandatory on AAMVA 04, 05, 06, 07, 08 barcodes.
453
+ Optional on Compact barcodes.
454
+
455
+ A code that indicates whether a field has been truncated (T), has not been
456
+ truncated (N), or – unknown whether truncated (U).
457
+ */
458
+ FirstNameTruncation = 28,
459
+ /**
460
+ Mandatory on AAMVA 04, 05, 06, 07, 08 barcodes.
461
+
462
+ A code that indicates whether a field has been truncated (T), has not been
463
+ truncated (N), or – unknown whether truncated (U).
464
+ */
465
+ MiddleNameTruncation = 29,
466
+ /**
467
+ Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
468
+
469
+ Country and municipality and/or state/province.
470
+ */
471
+ PlaceOfBirth = 30,
472
+ /**
473
+ Optional on all AAMVA barcodes.
474
+
475
+ On Compact barcodes, use kFullAddress.
476
+
477
+ Second line of street portion of the cardholder address.
478
+ */
479
+ AddressStreet2 = 31,
480
+ /**
481
+ Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
482
+
483
+ Codes for race or ethnicity of the cardholder, as defined in ANSI D20.
484
+
485
+ Race:
486
+ Code Description
487
+ AI Alaskan or American Indian (Having Origins in Any of The Original Peoples of
488
+ North America, and Maintaining Cultural Identification Through Tribal
489
+ Affiliation of Community Recognition)
490
+ AP Asian or Pacific Islander (Having Origins in Any of the Original Peoples of
491
+ the Far East, Southeast Asia, or Pacific Islands. This Includes China, India,
492
+ Japan, Korea, the Philippines Islands, and Samoa)
493
+ BK Black (Having Origins in Any of the Black Racial Groups of Africa)
494
+ W White (Having Origins in Any of The Original Peoples of Europe, North Africa,
495
+ or the Middle East)
496
+
497
+ Ethnicity:
498
+ Code Description
499
+ H Hispanic Origin (A Person of Mexican, Puerto Rican, Cuban, Central or South
500
+ American or Other Spanish Culture or Origin, Regardless of Race)
501
+ O Not of Hispanic Origin (Any Person Other Than Hispanic)
502
+ U Unknown
503
+
504
+ */
505
+ RaceEthnicity = 32,
506
+ /**
507
+ Optional on AAMVA 01 barcodes.
508
+
509
+ PREFIX to Driver Name. Freeform as defined by issuing jurisdiction.
510
+ */
511
+ NamePrefix = 33,
512
+ /**
513
+ Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
514
+
515
+ Country in which DL/ID is issued. U.S. = USA, Canada = CAN.
516
+ */
517
+ CountryIdentification = 34,
518
+ /**
519
+ Optional on AAMVA version 01.
520
+
521
+ Driver Residence Street Address 1.
522
+ */
523
+ ResidenceStreetAddress = 35,
524
+ /**
525
+ Optional on AAMVA version 01.
526
+
527
+ Driver Residence Street Address 2.
528
+ */
529
+ ResidenceStreetAddress2 = 36,
530
+ /**
531
+ Optional on AAMVA version 01.
532
+
533
+ Driver Residence City
534
+ */
535
+ ResidenceCity = 37,
536
+ /**
537
+ Optional on AAMVA version 01.
538
+
539
+ Driver Residence Jurisdiction Code.
540
+ */
541
+ ResidenceJurisdictionCode = 38,
542
+ /**
543
+ Optional on AAMVA 01 barcodes.
544
+
545
+ Driver Residence Postal Code.
546
+ */
547
+ ResidencePostalCode = 39,
548
+ /**
549
+ Optional on AAMVA 01 barcodes.
550
+
551
+ Full residence address of the individual holding the Driver's License or ID.
552
+
553
+ The full address field contains up to four portions, separated with the "," delimiter:
554
+ Residence Street Address (required)
555
+ , (required if other address portions follow, otherwise optional)
556
+ Residence City (optional)
557
+ , (required if other address portions follow, otherwise optional)
558
+ Residence Jurisdiction Code (optional)
559
+ , (required if other address portions follow, otherwise optional)
560
+ Residence ZIP - Residence Postal Code (optional)
561
+ */
562
+ ResidenceFullAddress = 40,
563
+ /**
564
+ Optional on AAMVA 05, 06, 07, 08 barcodes.
565
+
566
+ Date on which the cardholder turns 18 years old. (MMDDCCYY format)
567
+ */
568
+ Under18 = 41,
569
+ /**
570
+ Optional on AAMVA 05, 06, 07, 08 barcodes.
571
+
572
+ Date on which the cardholder turns 19 years old. (MMDDCCYY format)
573
+ */
574
+ Under19 = 42,
575
+ /**
576
+ Optional on AAMVA 05, 06, 07, 08 barcodes.
577
+
578
+ Date on which the cardholder turns 21 years old. (MMDDCCYY format)
579
+ */
580
+ Under21 = 43,
581
+ /**
582
+ Optional on AAMVA version 01.
583
+
584
+ The number assigned to the individual by the Social Security Administration.
585
+ */
586
+ SocialSecurityNumber = 44,
587
+ /**
588
+ Optional on AAMVA version 01.
589
+
590
+ Driver "AKA" Social Security Number. FORMAT SAME AS DRIVER SOC SEC NUM. ALTERNATIVE NUMBERS(S) used as SS NUM.
591
+ */
592
+ AKASocialSecurityNumber = 45,
593
+ /**
594
+ Optional on AAMVA 01 barcodes.
595
+
596
+ ALTERNATIVE MIDDLE NAME(s) or INITIALS of the individual holding the Driver License or ID.
597
+ Hyphenated names acceptable, spaces between names acceptable, but no other
598
+ use of special symbols.
599
+ */
600
+ AKAMiddleName = 46,
601
+ /**
602
+ Optional on AAMVA 01 barcodes.
603
+
604
+ ALTERNATIVE PREFIX to Driver Name. Freeform as defined by issuing jurisdiction.
605
+ */
606
+ AKAPrefixName = 47,
607
+ /**
608
+ Optional on AAMVA 01, 06, 07, 08 barcodes.
609
+
610
+ Field that indicates that the cardholder is an organ donor = "1".
611
+ */
612
+ OrganDonor = 48,
613
+ /**
614
+ Optional on AAMVA 07, 08 barcodes.
615
+
616
+ Field that indicates that the cardholder is a veteran = "1"
617
+ */
618
+ Veteran = 49,
619
+ /**
620
+ Optional on AAMVA 01. (MMDDCCYY format)
621
+
622
+ ALTERNATIVE DATES(S) given as date of birth.
623
+ */
624
+ AKADateOfBirth = 50,
625
+ /**
626
+ Mandatory on all AAMVA, Magnetic and Compact barcodes.
627
+
628
+ This number uniquely identifies the issuing jurisdiction and can
629
+ be obtained by contacting the ISO Issuing Authority (AAMVA)
630
+ */
631
+ IssuerIdentificationNumber = 51,
632
+ /**
633
+ Mandatory on all AAMVA, Magnetic and Compact barcodes.
634
+
635
+ If the document is non expiring then "Non expiring" is written in this field.
636
+
637
+ Date on which the driving and identification privileges granted by the document are
638
+ no longer valid. (MMDDCCYY format)
639
+ */
640
+ DocumentExpirationDate = 52,
641
+ /**
642
+ Mandatory on all AAMVA and Compact barcodes.
643
+ Optional on Magnetic barcodes.
644
+
645
+ Jurisdiction Version Number: This is a decimal value between 0 and 99 that
646
+ specifies the jurisdiction version level of the PDF417 barcode format.
647
+ Notwithstanding iterations of this standard, jurisdictions implement incremental
648
+ changes to their barcodes, including new jurisdiction-specific data, compression
649
+ algorithms for digitized images, digital signatures, or new truncation
650
+ conventions used for names and addresses. Each change to the barcode format
651
+ within each AAMVA version (above) must be noted, beginning with Jurisdiction
652
+ Version 00.
653
+ */
654
+ JurisdictionVersionNumber = 53,
655
+ /**
656
+ Mandatory on all AAMVA and Magnetic barcodes.
657
+
658
+ Jurisdiction-specific vehicle class / group code, designating the type
659
+ of vehicle the cardholder has privilege to drive.
660
+ */
661
+ JurisdictionVehicleClass = 54,
662
+ /**
663
+ Mandatory on all AAMVA barcodes.
664
+ Optional on Magnetic barcodes.
665
+
666
+ Jurisdiction-specific codes that represent restrictions to driving
667
+ privileges (such as airbrakes, automatic transmission, daylight only, etc.).
668
+ */
669
+ JurisdictionRestrictionCodes = 55,
670
+ /**
671
+ Mandatory on all AAMVA barcodes.
672
+ Optional on Magnetic barcodes.
673
+
674
+ Jurisdiction-specific codes that represent additional privileges
675
+ granted to the cardholder beyond the vehicle class (such as transportation of
676
+ passengers, hazardous materials, operation of motorcycles, etc.).
677
+ */
678
+ JurisdictionEndorsementCodes = 56,
679
+ /**
680
+ Mandatory on all AAMVA and Compact barcodes.
681
+
682
+ Date on which the document was issued. (MMDDCCYY format)
683
+ */
684
+ DocumentIssueDate = 57,
685
+ /**
686
+ Mandatory on AAMVA versions 02 and 03.
687
+
688
+ Federally established codes for vehicle categories, endorsements, and restrictions
689
+ that are generally applicable to commercial motor vehicles. If the vehicle is not a
690
+ commercial vehicle, "NONE" is to be entered.
691
+ */
692
+ FederalCommercialVehicleCodes = 58,
693
+ /**
694
+ Optional on all AAMVA barcodes.
695
+ Mandatory on Compact barcodes.
696
+
697
+ Jurisdictions may define a subfile to contain jurisdiction-specific information.
698
+ These subfiles are designated with the first character of “Z” and the second
699
+ character is the first letter of the jurisdiction's name. For example, "ZC" would
700
+ be the designator for a California or Colorado jurisdiction-defined subfile, "ZQ"
701
+ would be the designator for a Quebec jurisdiction-defined subfile. In the case of
702
+ a jurisdiction-defined subfile that has a first letter that could be more than
703
+ one jurisdiction (e.g. California, Colorado, Connecticut) then other data, like
704
+ the IIN or address, must be examined to determine the jurisdiction.
705
+ */
706
+ IssuingJurisdiction = 59,
707
+ /**
708
+ Optional on all AAMVA barcodes.
709
+ Mandatory on Compact barcodes.
710
+
711
+ Standard vehicle classification code(s) for cardholder. This data element is a
712
+ placeholder for future efforts to standardize vehicle classifications.
713
+ */
714
+ StandardVehicleClassification = 60,
715
+ /**
716
+ Optional on all AAMVA and Magnetic barcodes.
717
+
718
+ Name of issuing jurisdiction, for example: Alabama, Alaska ...
719
+ */
720
+ IssuingJurisdictionName = 61,
721
+ /**
722
+ Optional on all AAMVA barcodes.
723
+
724
+ Standard endorsement code(s) for cardholder. See codes in D20. This data element is a
725
+ placeholder for future efforts to standardize endorsement codes.
726
+
727
+ Code Description
728
+ H Hazardous Material - This endorsement is required for the operation of any vehicle
729
+ transporting hazardous materials requiring placarding, as defined by U.S.
730
+ Department of Transportation regulations.
731
+ L Motorcycles – Including Mopeds/Motorized Bicycles.
732
+ N Tank - This endorsement is required for the operation of any vehicle transporting,
733
+ as its primary cargo, any liquid or gaseous material within a tank attached to the vehicle.
734
+ O Other Jurisdiction Specific Endorsement(s) - This code indicates one or more
735
+ additional jurisdiction assigned endorsements.
736
+ P Passenger - This endorsement is required for the operation of any vehicle used for
737
+ transportation of sixteen or more occupants, including the driver.
738
+ S School Bus - This endorsement is required for the operation of a school bus. School bus means a
739
+ CMV used to transport pre-primary, primary, or secondary school students from home to school,
740
+ from school to home, or to and from school sponsored events. School bus does not include a
741
+ bus used as common carrier (49 CRF 383.5).
742
+ T Doubles/Triples - This endorsement is required for the operation of any vehicle that would be
743
+ referred to as a double or triple.
744
+ X Combined Tank/HAZ-MAT - This endorsement may be issued to any driver who qualifies for
745
+ both the N and H endorsements.
746
+ */
747
+ StandardEndorsementCode = 62,
748
+ /**
749
+ Optional on all AAMVA barcodes.
750
+
751
+ Standard restriction code(s) for cardholder. See codes in D20. This data element is a placeholder
752
+ for future efforts to standardize restriction codes.
753
+
754
+ Code Description
755
+ B Corrective Lenses
756
+ C Mechanical Devices (Special Brakes, Hand Controls, or Other Adaptive Devices)
757
+ D Prosthetic Aid
758
+ E Automatic Transmission
759
+ F Outside Mirror
760
+ G Limit to Daylight Only
761
+ H Limit to Employment
762
+ I Limited Other
763
+ J Other
764
+ K CDL Intrastate Only
765
+ L Vehicles without air brakes
766
+ M Except Class A bus
767
+ N Except Class A and Class B bus
768
+ O Except Tractor-Trailer
769
+ V Medical Variance Documentation Required
770
+ W Farm Waiver
771
+ */
772
+ StandardRestrictionCode = 63,
773
+ /**
774
+ Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
775
+
776
+ Text that explains the jurisdiction-specific code(s) for classifications
777
+ of vehicles cardholder is authorized to drive.
778
+ */
779
+ JurisdictionVehicleClassificationDescription = 64,
780
+ /**
781
+ Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
782
+
783
+ Text that explains the jurisdiction-specific code(s) that indicates additional
784
+ driving privileges granted to the cardholder beyond the vehicle class.
785
+ */
786
+ JurisdictionEndorsmentCodeDescription = 65,
787
+ /**
788
+ Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
789
+
790
+ Text describing the jurisdiction-specific restriction code(s) that curtail driving privileges.
791
+ */
792
+ JurisdictionRestrictionCodeDescription = 66,
793
+ /**
794
+ Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 barcodes.
795
+
796
+ A string of letters and/or numbers that is affixed to the raw materials (card stock,
797
+ laminate, etc.) used in producing driver's licenses and ID cards. (DHS recommended field)
798
+ */
799
+ InventoryControlNumber = 67,
800
+ /**
801
+ Optional on AAMVA 04, 05, 06, 07, 08 and Compact barcodes.
802
+
803
+ DHS required field that indicates date of the most recent version change or
804
+ modification to the visible format of the DL/ID. (MMDDCCYY format)
805
+ */
806
+ CardRevisionDate = 68,
807
+ /**
808
+ Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 and Magnetic barcodes.
809
+ Optional and Compact barcodes.
810
+
811
+ Number must uniquely identify a particular document issued to that customer
812
+ from others that may have been issued in the past. This number may serve multiple
813
+ purposes of document discrimination, audit information number, and/or inventory control.
814
+ */
815
+ DocumentDiscriminator = 69,
816
+ /**
817
+ Optional on AAMVA 04, 05, 06, 07, 08 and Compact barcodes.
818
+
819
+ DHS required field that indicates that the cardholder has temporary lawful status = "1".
820
+ */
821
+ LimitedDurationDocument = 70,
822
+ /**
823
+ Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
824
+
825
+ A string of letters and/or numbers that identifies when, where, and by whom a driver's
826
+ license/ID card was made. If audit information is not used on the card or the MRT, it
827
+ must be included in the driver record.
828
+ */
829
+ AuditInformation = 71,
830
+ /**
831
+ Optional on AAMVA 04, 05, 06, 07, 08 and Compact barcodes.
832
+
833
+ DHS required field that indicates compliance: "M" = materially compliant,
834
+ "F" = fully compliant, and, "N" = non-compliant.
835
+ */
836
+ ComplianceType = 72,
837
+ /**
838
+ Optional on AAMVA version 01 barcodes.
839
+
840
+ Issue Timestamp. A string used by some jurisdictions to validate the document against their data base.
841
+ */
842
+ IssueTimestamp = 73,
843
+ /**
844
+ Optional on AAMVA version 01 barcodes.
845
+
846
+ Driver Permit Expiration Date. MMDDCCYY format. Date permit expires.
847
+ */
848
+ PermitExpirationDate = 74,
849
+ /**
850
+ Optional on AAMVA version 01 barcodes..
851
+
852
+ Type of permit.
853
+ */
854
+ PermitIdentifier = 75,
855
+ /**
856
+ Optional on AAMVA version 01 barcodes..
857
+
858
+ Driver Permit Issue Date. MMDDCCYY format. Date permit was issued.
859
+ */
860
+ PermitIssueDate = 76,
861
+ /**
862
+ Optional on AAMVA version 01.
863
+
864
+ Number of duplicate cards issued for a license or ID if any.
865
+ */
866
+ NumberOfDuplicates = 77,
867
+ /**
868
+ Optional on AAMVA 04, 05, 06, 07, 08 and Compact barcodes.
869
+
870
+ Date on which the hazardous material endorsement granted by the document is
871
+ no longer valid. (MMDDCCYY format)
872
+ */
873
+ HAZMATExpirationDate = 78,
874
+ /**
875
+ Optional on AAMVA version 01.
876
+
877
+ Medical Indicator/Codes.
878
+ STATE SPECIFIC. Freeform, Standard "TBD"
879
+ */
880
+ MedicalIndicator = 79,
881
+ /**
882
+ Optional on AAMVA version 01.
883
+
884
+ Non-Resident Indicator. "Y". Used by some jurisdictions to indicate holder of the document is a non-resident.
885
+ */
886
+ NonResident = 80,
887
+ /**
888
+ Optional on AAMVA version 01.
889
+
890
+ A number or alphanumeric string used by some jurisdictions to identify a "customer" across multiple data bases.
891
+ */
892
+ UniqueCustomerId = 81,
893
+ /**
894
+ Optional on compact barcodes.
895
+
896
+ Document discriminator.
897
+ */
898
+ DataDiscriminator = 82,
899
+ /**
900
+ Optional on Magnetic barcodes.
901
+
902
+ Month on which the driving and identification privileges granted by the document are
903
+ no longer valid. (MMYY format)
904
+ */
905
+ DocumentExpirationMonth = 83,
906
+ /**
907
+ Optional on Magnetic barcodes.
908
+
909
+ Field that indicates that the driving and identification privileges granted by the
910
+ document are nonexpiring = "1".
911
+ */
912
+ DocumentNonexpiring = 84,
913
+ /**
914
+ Optional on Magnetic barcodes.
915
+
916
+ Security version beeing used.
917
+ */
918
+ SecurityVersion = 85,
919
+ /**
920
+ Number of keys in enum.
921
+ */
922
+ Count = 86
923
+ }
924
+
925
+ /**
926
+ * Possible formats of barcodes that can be detected. This enum will be returned
927
+ * as part of BarcodeRecognizerResult interface.
928
+ */
929
+ export declare enum BarcodeFormat {
930
+ /** Indicates that no barcode has been detected. */
931
+ NONE = 0,
932
+ /** Indicates that QR code has been detected. */
933
+ QR_CODE = 1,
934
+ /** Indicates that Data Matrix 2D barcode has been detected. */
935
+ DATA_MATRIX = 2,
936
+ /** Indicates that UPC E 1D barcode has been detected. */
937
+ UPC_E = 3,
938
+ /** Indicates that UPC A 1D barcode has been detected. */
939
+ UPC_A = 4,
940
+ /** Indicates that EAN 8 1D barcode has been detected. */
941
+ EAN_8 = 5,
942
+ /** Indicates that EAN 13 1D barcode has been detected. */
943
+ EAN_13 = 6,
944
+ /** Indicates that Code 128 1D barcode has been detected. */
945
+ CODE_128 = 7,
946
+ /** Indicates that Code 39 1D barcode has been detected. */
947
+ CODE_39 = 8,
948
+ /** Indicates that ITF 1D barcode has been detected. */
949
+ ITF = 9,
950
+ /** Indicates that Aztec 2D barcode has been detected. */
951
+ AZTEC_BARCODE = 10,
952
+ /** Indicates that PDF417 2D barcode has been detected. */
953
+ PDF417_BARCODE = 11
954
+ }
955
+
956
+ /**
957
+ * BarcodeResult contains data extracted from the barcode.
958
+ */
959
+ export declare interface BarcodeResult {
960
+ /** The raw, unparsed barcode data. */
961
+ barcodeData: BarcodeData;
962
+ /** The first name of the document owner. */
963
+ firstName: string;
964
+ /** The middle name of the document owner. */
965
+ middleName: string;
966
+ /** The last name of the document owner. */
967
+ lastName: string;
968
+ /** The full name of the document owner. */
969
+ fullName: string;
970
+ /** The additional name information of the document owner. */
971
+ additionalNameInformation: string;
972
+ /** The address of the document owner. */
973
+ address: string;
974
+ /** The place of birth of the document owner. */
975
+ placeOfBirth: string;
976
+ /** The nationality of the document owner. */
977
+ nationality: string;
978
+ /** The race of the document owner. */
979
+ race: string;
980
+ /** The religion of the document owner. */
981
+ religion: string;
982
+ /** The profession of the document owner. */
983
+ profession: string;
984
+ /** The marital status of the document owner. */
985
+ maritalStatus: string;
986
+ /** The residential status of the document owner. */
987
+ residentialStatus: string;
988
+ /** The employer of the document owner. */
989
+ employer: string;
990
+ /** The sex of the document owner. */
991
+ sex: string;
992
+ /** The date of birth of the document owner. */
993
+ dateOfBirth: MBDate;
994
+ /** The date of issue of the document. */
995
+ dateOfIssue: MBDate;
996
+ /** The date of expiry of the document. */
997
+ dateOfExpiry: MBDate;
998
+ /** The document number. */
999
+ documentNumber: string;
1000
+ /** The personal identification number. */
1001
+ personalIdNumber: string;
1002
+ /** The additional number of the document. */
1003
+ documentAdditionalNumber: string;
1004
+ /** The issuing authority of the document. */
1005
+ issuingAuthority: string;
1006
+ /** The details about the address of the document owner. */
1007
+ addressDetailedInfo: AddressDetailedInfo;
1008
+ driverLicenseDetailedInfo: BarcodeDriverLicenseDetailedInfo;
1009
+ empty: boolean;
1010
+ /**
1011
+ * Document specific extended elements that contain all barcode fields in their original form.
1012
+ * The indices of specific data within the array are given by the BarcodeElementKey enum.
1013
+ *
1014
+ * For example, to obtain the first name you can use extendedElements[BarcodeElementKey.CustomerFirstName].
1015
+ *
1016
+ * Currently this is only filled for AAMVACompliant documents.
1017
+ */
1018
+ extendedElements: Array<string>;
1019
+ }
1020
+
1021
+ /**
1022
+ * The additional information on vehicle class for barcodes.
1023
+ */
1024
+ export declare interface BarcodeVehicleClassInfo {
1025
+ vehicleClass: string;
1026
+ licenceType: string;
1027
+ effectiveDate: MBDate;
1028
+ expiryDate: MBDate;
1029
+ }
1030
+
1031
+ /**
1032
+ * The base result of image recognition when using either the BlinkIdSingleSideRecognizer or BlinkIdMultiSideRecognizer.
1033
+ */
1034
+ export declare interface BaseBlinkIdRecognizerResult {
1035
+ /**
1036
+ * The additional address information of the document owner.
1037
+ */
1038
+ additionalAddressInformation: StringResult;
1039
+ /**
1040
+ * The additional name information of the document owner.
1041
+ */
1042
+ additionalNameInformation: StringResult;
1043
+ /**
1044
+ * The one more additional address information of the document owner.
1045
+ */
1046
+ additionalOptionalAddressInformation: StringResult;
1047
+ /**
1048
+ * The address of the document owner.
1049
+ */
1050
+ address: StringResult;
1051
+ /**
1052
+ * The data extracted from the barcode.
1053
+ */
1054
+ barcode: BarcodeResult;
1055
+ /**
1056
+ * This member indicates whether the barcode scanning step was utilized during the
1057
+ * process.
1058
+ * If the barcode scanning step was executed: a parsable barcode image will be stored in the
1059
+ * `barcodeCameraFrame`.
1060
+ * If the barcode scanning step was not executed: a parsable barcode image will be stored in the
1061
+ * `fullDocumentFrontImage` or `fullDocumentBackImage` depending on which side the barcode was on.
1062
+ * */
1063
+ barcodeStepUsed: boolean;
1064
+ /**
1065
+ * Full video feed frame from which barcode data was extracted.
1066
+ */
1067
+ barcodeCameraFrame: CameraFrameResult;
1068
+ /**
1069
+ * The blood type on a document owner.
1070
+ */
1071
+ bloodType: StringResult;
1072
+ /**
1073
+ * The class info.
1074
+ */
1075
+ classInfo: ClassInfo;
1076
+ /** Subtype of a document */
1077
+ documentSubtype: StringResult;
1078
+ /**
1079
+ * The date of birth of the document owner.
1080
+ */
1081
+ dateOfBirth: DateResult;
1082
+ /**
1083
+ * The date of expiry of the document.
1084
+ */
1085
+ dateOfExpiry: DateResult;
1086
+ /**
1087
+ * Determines if date of expiry is permanent.
1088
+ */
1089
+ dateOfExpiryPermanent: boolean;
1090
+ /**
1091
+ * The date of issue of the document.
1092
+ */
1093
+ dateOfIssue: DateResult;
1094
+ /**
1095
+ * The additional number of the document.
1096
+ */
1097
+ documentAdditionalNumber: StringResult;
1098
+ /**
1099
+ * The one more additional number of the document.
1100
+ */
1101
+ documentOptionalAdditionalNumber: StringResult;
1102
+ /**
1103
+ * The document number.
1104
+ */
1105
+ documentNumber: StringResult;
1106
+ /**
1107
+ * The driver license detailed info.
1108
+ */
1109
+ driverLicenseDetailedInfo: DriverLicenseDetailedInfo;
1110
+ /**
1111
+ * The employer of the document owner.
1112
+ */
1113
+ employer: StringResult;
1114
+ /**
1115
+ * The face image.
1116
+ */
1117
+ faceImage: ImageResult;
1118
+ /**
1119
+ * The location of the face image on the document.
1120
+ */
1121
+ faceImageLocation?: Rectangle;
1122
+ /**
1123
+ * The side of the document in which the face image is located.
1124
+ */
1125
+ faceImageSide?: DocumentSide;
1126
+ /**
1127
+ * The fathers name of the document owner.
1128
+ */
1129
+ fathersName: StringResult;
1130
+ /**
1131
+ * The first name of the document owner.
1132
+ */
1133
+ firstName: StringResult;
1134
+ /**
1135
+ * The full name of the document owner.
1136
+ */
1137
+ fullName: StringResult;
1138
+ /**
1139
+ * The issuing authority of the document.
1140
+ */
1141
+ issuingAuthority: StringResult;
1142
+ /**
1143
+ * The last name of the document owner.
1144
+ */
1145
+ lastName: StringResult;
1146
+ /**
1147
+ * The localized name of the document owner.
1148
+ */
1149
+ localizedName: StringResult;
1150
+ /**
1151
+ * The marital status of the document owner.
1152
+ */
1153
+ maritalStatus: StringResult;
1154
+ /**
1155
+ * The data extracted from the machine readable zone.
1156
+ */
1157
+ mrz: MrzResult;
1158
+ /**
1159
+ * The mothers name of the document owner.
1160
+ */
1161
+ mothersName: StringResult;
1162
+ /**
1163
+ * The nationality of the document owner.
1164
+ */
1165
+ nationality: StringResult;
1166
+ /**
1167
+ * The personal identification number.
1168
+ */
1169
+ personalIdNumber: StringResult;
1170
+ /**
1171
+ * The place of birth of the document owner.
1172
+ */
1173
+ placeOfBirth: StringResult;
1174
+ /**
1175
+ * Status of the last recognition process.
1176
+ */
1177
+ processingStatus: ProcessingStatus;
1178
+ /**
1179
+ * The profession of the document owner.
1180
+ */
1181
+ profession: StringResult;
1182
+ /**
1183
+ * The race of the document owner.
1184
+ */
1185
+ race: StringResult;
1186
+ /**
1187
+ * Recognition mode used to scan current document.
1188
+ */
1189
+ recognitionMode: RecognitionMode;
1190
+ /**
1191
+ * The religion of the document owner.
1192
+ */
1193
+ religion: StringResult;
1194
+ /**
1195
+ * The residential status of the document owner.
1196
+ */
1197
+ residentialStatus: StringResult;
1198
+ /**
1199
+ * The sex of the document owner.
1200
+ */
1201
+ sex: StringResult;
1202
+ /**
1203
+ * The image of the signature.
1204
+ */
1205
+ signatureImage: ImageResult;
1206
+ /**
1207
+ * Sponsor of a document owner.
1208
+ */
1209
+ sponsor: StringResult;
1210
+ state: RecognizerResultState;
1211
+ }
1212
+
1213
+ export declare interface BlinkIdBindings {
1214
+ BlinkIdSingleSideRecognizer: typeof BlinkIdSingleSideRecognizer;
1215
+ BlinkIdMultiSideRecognizer: typeof BlinkIdMultiSideRecognizer;
1216
+ RecognizerRunner: typeof RecognizerRunner;
1217
+ initializeWithLicenseKey: (licenceKey: string, userId: string, allowHelloMessage: boolean) => LicenseUnlockResult;
1218
+ submitServerPermission: (serverPermission: unknown) => ServerPermissionSubmitResult;
1219
+ getActiveLicenseTokenInfo: () => LicenseUnlockResult;
1220
+ }
1221
+
1222
+ /**
1223
+ * The `BlinkIdCore` is a wrapper around the `blinkid-worker` module.
1224
+ */
1225
+ export declare interface BlinkIdCore extends _BlinkIdCore {
1226
+ }
1227
+
1228
+ /**
1229
+ * The `_BlinkIdCore` class is private to prevent manual instantiation.
1230
+ * @private
1231
+ */
1232
+ declare class _BlinkIdCore {
1233
+ #private;
1234
+ constructor(remoteWorker: Remote<BlinkIdWorkerProxy>);
1235
+ /**
1236
+ * Analyzes a single frame.
1237
+ *
1238
+ * @remarks
1239
+ * This method is a proxy to the `blinkid-worker` module.
1240
+ * It is a workaround to avoid memory leaks when using the `Remote` object
1241
+ * directly.
1242
+ *
1243
+ * @param image - The image to analyze.
1244
+ * @returns The analysis result or an error.
1245
+ */
1246
+ processImage: (image: ImageData) => Promise<FrameAnalysisResult>;
1247
+ /**
1248
+ * Returns the BlinkID result.
1249
+ * @returns The BlinkID result.
1250
+ */
1251
+ getResult: () => Promise<BlinkIdResult>;
1252
+ /**
1253
+ * Updates BlinkID settings. The new settings are merged with the current
1254
+ * settings.
1255
+ *
1256
+ * @param newSettings - The new BlinkID settings. Can be a partial object.
1257
+ */
1258
+ updateSettings: (newSettings: Partial<BlinkIdMultiSideRecognizerSettings>) => Promise<void>;
1259
+ selectScanningMode: (scanningMode: ActiveRecognizer) => Promise<void>;
1260
+ resetScanningSession: () => Promise<void>;
1261
+ /**
1262
+ * Terminates the workers and the Wasm runtime.
1263
+ */
1264
+ terminateWorker(): Promise<void>;
1265
+ }
1266
+
1267
+ export declare type BlinkIdInitSettings = SetOptional<BlinkIdWorkerInitSettings, "userId" | "useBarcodeDeblurModel">;
1268
+
1269
+ export declare class BlinkIdMultiSideRecognizer extends Recognizer<BlinkIdMultiSideRecognizerSettings, BlinkIdMultiSideRecognizerResult> {
1270
+ }
1271
+
1272
+ export declare interface BlinkIdMultiSideRecognizerResult extends BaseBlinkIdRecognizerResult {
1273
+ /**
1274
+ * Detailed information about missing, invalid and extra fields.
1275
+ */
1276
+ backAdditionalProcessingInfo: AdditionalProcessingInfo;
1277
+ /**
1278
+ * Detailed information about missing, invalid and extra fields.
1279
+ */
1280
+ frontAdditionalProcessingInfo: AdditionalProcessingInfo;
1281
+ /**
1282
+ * Full video feed frame from which document data on front side was extracted.
1283
+ */
1284
+ frontCameraFrame: CameraFrameResult;
1285
+ /**
1286
+ * Full video feed frame from which document data on back side was extracted.
1287
+ */
1288
+ backCameraFrame: CameraFrameResult;
1289
+ /**
1290
+ * Cropped and dewarped back side image of a document that has been scanned.
1291
+ */
1292
+ fullDocumentBackImage: ImageResult;
1293
+ /**
1294
+ * Cropped and dewarped front side image of a document that has been scanned.
1295
+ */
1296
+ fullDocumentFrontImage: ImageResult;
1297
+ /**
1298
+ * Result of analysis of the image of the front side of the document.
1299
+ */
1300
+ frontImageAnalysisResult: ImageAnalysisResult;
1301
+ /**
1302
+ * Result of analysis of the image of the back side of the document.
1303
+ */
1304
+ backImageAnalysisResult: ImageAnalysisResult;
1305
+ /**
1306
+ * The data extracted from the front side visual inspection zone.
1307
+ */
1308
+ frontViz: VIZResult;
1309
+ /**
1310
+ * The data extracted from the back side visual inspection zone.
1311
+ */
1312
+ backViz: VIZResult;
1313
+ /**
1314
+ * Status of the last recognition process for the front side of the document.
1315
+ */
1316
+ frontProcessingStatus: ProcessingStatus;
1317
+ /**
1318
+ * Status of the last recognition process for the back side of the document.
1319
+ */
1320
+ backProcessingStatus: ProcessingStatus;
1321
+ /**
1322
+ * The result of the data matching algorithm for scanned parts/sides of the document.
1323
+ *
1324
+ * For example if date of expiry is scanned from the front and back side of the document and
1325
+ * values do not match, this method will return {@link DataMatchResult#Failed} for that specific
1326
+ * field, and for data match on the whole document.
1327
+ *
1328
+ * Result for the whole document will be {@link DataMatchResult#Success} only if scanned values
1329
+ * for all fields that are compared are the same. If data matching has not been performed,
1330
+ * result will be {@link DataMatchResult#NotPerformed}.
1331
+ */
1332
+ dataMatchResult: DataMatchResult;
1333
+ /**
1334
+ * {@code true} if recognizer has finished scanning first side and is now scanning back side,
1335
+ * {@code false} if it's still scanning first side.
1336
+ */
1337
+ scanningFirstSideDone: boolean;
1338
+ }
1339
+
1340
+ /**
1341
+ * A settings object that is used for configuring the BlinkIdMultiSideRecognizer.
1342
+ */
1343
+ export declare interface BlinkIdMultiSideRecognizerSettings extends BlinkIdSingleSideRecognizerSettings {
1344
+ /**
1345
+ * Proceed to scan the back side of a document even if some of the validity checks have failed while scanning the
1346
+ * front side of a document.
1347
+ *
1348
+ * IMPORTANT: only works for photo frames, not video frames.
1349
+ */
1350
+ allowUncertainFrontSideScan: boolean;
1351
+ /**
1352
+ * Configure the number of characters per field that are allowed to be inconsistent in data match.
1353
+ */
1354
+ maxAllowedMismatchesPerField: number;
1355
+ /**
1356
+ * Back side of the document will not be scanned if only the front side is supported for a specific document.
1357
+ *
1358
+ * If set to false, a photo of the back side will be returned, as well as barcode or MRZ (Machine Readable Zone) if
1359
+ * either is present.
1360
+ */
1361
+ skipUnsupportedBack: boolean;
1362
+ }
1363
+
1364
+ export declare type BlinkIdRecognizer = BlinkIdSingleSideRecognizer | BlinkIdMultiSideRecognizer;
1365
+
1366
+ export declare type BlinkIdResult = BlinkIdSingleSideRecognizerResult | BlinkIdMultiSideRecognizerResult;
1367
+
1368
+ export declare class BlinkIdSingleSideRecognizer extends Recognizer<BlinkIdSingleSideRecognizerSettings, BlinkIdSingleSideRecognizerResult> {
1369
+ }
1370
+
1371
+ /**
1372
+ * The result of image recognition when using the BlinkIdSingleSideRecognizer.
1373
+ */
1374
+ export declare interface BlinkIdSingleSideRecognizerResult extends BaseBlinkIdRecognizerResult {
1375
+ /**
1376
+ * Detailed information about missing, invalid and extra fields.
1377
+ */
1378
+ additionalProcessingInfo: AdditionalProcessingInfo;
1379
+ /**
1380
+ * Full video feed frame from which document data was extracted.
1381
+ */
1382
+ cameraFrame: CameraFrameResult;
1383
+ /**
1384
+ * Cropped and dewarped image of a document that has been scanned.
1385
+ */
1386
+ fullDocumentImage: ImageResult;
1387
+ /**
1388
+ * Result of document image analysis.
1389
+ */
1390
+ imageAnalysisResult: ImageAnalysisResult;
1391
+ /**
1392
+ * The data extracted from the visual inspection zone.
1393
+ */
1394
+ viz: VIZResult;
1395
+ }
1396
+
1397
+ /**
1398
+ * A settings object that is used for configuring the BlinkIdSingleSideRecognizer.
1399
+ */
1400
+ export declare interface BlinkIdSingleSideRecognizerSettings extends RecognizerImageOptions {
1401
+ /**
1402
+ * Skip processing of blurred frames.
1403
+ */
1404
+ enableBlurFilter: boolean;
1405
+ /**
1406
+ * Skip processing of frames which contain too much glare.
1407
+ */
1408
+ enableGlareFilter: boolean;
1409
+ /**
1410
+ * Strictness level for blur detection.
1411
+ */
1412
+ blurStrictnessLevel: StrictnessLevel;
1413
+ /**
1414
+ * Strictness level for glare detection.
1415
+ */
1416
+ glareStrictnessLevel: StrictnessLevel;
1417
+ /**
1418
+ * Allow reading of non-standard MRZ (Machine Readable Zone). Only raw MRZ result is returned.
1419
+ * Final recognizer state is not affected.
1420
+ */
1421
+ allowUnparsedMrzResults: boolean;
1422
+ /**
1423
+ * Allows barcode recognition to proceed even if the initial extraction fails
1424
+ * @defaultValue false
1425
+ */
1426
+ allowBarcodeScanOnly: boolean;
1427
+ /**
1428
+ * Enables the aggregation of data from multiple frames
1429
+ * @defaultValue true
1430
+ */
1431
+ combineFrameResults: boolean;
1432
+ /**
1433
+ * Allow reading of standard MRZ (Machine Readable Zone) which gets successfully parsed, but check digits are
1434
+ * incorrect (do not comply with the ICAO standard).
1435
+ *
1436
+ * Final recognizer state is not affected.
1437
+ */
1438
+ allowUnverifiedMrzResults: boolean;
1439
+ /**
1440
+ * Enable or disable recognition of specific document groups supported by the current license.
1441
+ * By default all modes are enabled.
1442
+ */
1443
+ recognitionModeFilter: RecognitionModeFilter;
1444
+ /**
1445
+ * Save the raw camera frames at the moment of the data extraction or timeout.
1446
+ * This significantly increases memory consumption. The scanning performance is not affected.
1447
+ */
1448
+ saveCameraFrames: boolean;
1449
+ /**
1450
+ * Process only cropped document images with corrected perspective (frontal images of a document).
1451
+ * This only applies to still images - video feed will ignore this setting.
1452
+ */
1453
+ scanCroppedDocumentImage: boolean;
1454
+ /**
1455
+ * Allow only results containing expected characters for a given field.
1456
+ *
1457
+ * Each field is validated against a set of rules.
1458
+ *
1459
+ * All fields have to be successfully validated in order for a recognizer state to be ‘valid’.
1460
+ * Setting is used to improve scanning accuracy.
1461
+ */
1462
+ validateResultCharacters: boolean;
1463
+ /**
1464
+ * Redact specific fields based on requirements or laws regarding a specific document.
1465
+ *
1466
+ * Data can be redacted from the image, the result or both.
1467
+ *
1468
+ * The setting applies to certain documents only.
1469
+ */
1470
+ anonymizationMode: AnonymizationMode;
1471
+ /**
1472
+ * Redact fields for specific document class.
1473
+ *
1474
+ * Fields specified by requirements or laws for a specific document will be redacted regardless of this setting.
1475
+ *
1476
+ * Based on anonymizationMode setting, data will be redacted from the image, the result or both.
1477
+ */
1478
+ additionalAnonymization?: Array<ClassAnonymizationSettings>;
1479
+ /**
1480
+ * Define custom rules for specific document class.
1481
+ *
1482
+ * The new class rules will be a combination of our internal and user-defined rules.
1483
+ *
1484
+ * The more detailed class filter will have priority over the other.
1485
+ */
1486
+ customClassRules: Array<CustomClassRules> | null;
1487
+ /**
1488
+ * Called when barcode scanning step starts.
1489
+ */
1490
+ barcodeScanningStartedCallback?: () => void;
1491
+ /**
1492
+ * Called when recognizer classifies a document.
1493
+ */
1494
+ classifierCallback?: (isDocumentSupported: boolean) => void;
1495
+ /**
1496
+ * If not defined, all supported documents will be recognized.
1497
+ * Otherwise, only classes from given array will be recognized and all other
1498
+ * documents will be treated as "not supported" (observable via classifierCallback).
1499
+ */
1500
+ allowedDocumentClasses?: Array<ClassInfo>;
1501
+ /**
1502
+ * Minimum required distance between the edge of the scanning frame and the document.
1503
+ *
1504
+ * Defined as a percentage of the frame width.
1505
+ *
1506
+ * Default value is 0.0f in which case the padding edge and the image edge are the same.
1507
+ * Alternative recommended value is 0.02f.
1508
+ */
1509
+ paddingEdge: number;
1510
+ }
1511
+
1512
+ export declare interface BlinkIdWasmModule extends BlinkIdBindings, EmscriptenModule {
1513
+ }
1514
+
1515
+ declare class BlinkIdWorker {
1516
+ #private;
1517
+ activeRecognizer: ActiveRecognizer;
1518
+ progressStatusCallback?: (param: number) => void;
1519
+ setProgressStatusCallback(callback: (param: number) => void): void;
1520
+ /**
1521
+ * This method initializes everything.
1522
+ */
1523
+ initBlinkId(settings: BlinkIdWorkerInitSettings): Promise<void>;
1524
+ selectScanningMode(mode: ActiveRecognizer): void;
1525
+ updateSettings(incomingPartialSettings: Partial<BlinkIdMultiSideRecognizerSettings>): void;
1526
+ /**
1527
+ * This method processes the image.
1528
+ */
1529
+ processImage(image: CapturedFrame): FrameAnalysisResult;
1530
+ /**
1531
+ * This method returns the result.
1532
+ */
1533
+ getResult(): BlinkIdResult;
1534
+ resetScanningSession(): void;
1535
+ /**
1536
+ * This method is called when the worker is terminated.
1537
+ */
1538
+ [finalizer](): void;
1539
+ /**
1540
+ * Terminates the workers and the Wasm runtime.
1541
+ */
1542
+ terminate(): void;
1543
+ ping(): number;
1544
+ }
1545
+
1546
+ export declare type BlinkIdWorkerInitSettings = {
1547
+ /**
1548
+ * The parent directory where the `/resources` directory is hosted.
1549
+ * Defaults to `window.location.href`, at the root of the current page.
1550
+ */
1551
+ licenseKey: string;
1552
+ resourcesLocation?: string;
1553
+ userId: string;
1554
+ wasmVariant?: WasmVariant;
1555
+ /**
1556
+ * The initial memory allocation for the Wasm module, in megabytes.
1557
+ */
1558
+ initialMemory?: number;
1559
+ scanningMode?: ActiveRecognizer;
1560
+ blinkIdSettings?: Partial<BlinkIdMultiSideRecognizerSettings>;
1561
+ useBarcodeDeblurModel: boolean;
1562
+ };
1563
+
1564
+ export declare type BlinkIdWorkerProxy = Omit<BlinkIdWorker, typeof finalizer>;
1565
+
1566
+ export declare interface CameraFrameResult {
1567
+ /**
1568
+ * Contains both original image and JPEG-encoded bytes of the image.
1569
+ */
1570
+ frame: ImageData | null;
1571
+ /** Orientation of the captured frame */
1572
+ orientation: ImageOrientation_2;
1573
+ }
1574
+
1575
+ /**
1576
+ * Represents a captured frame from HTMLVideoElement.
1577
+ */
1578
+ export declare interface CapturedFrame {
1579
+ /** Instance of ImageData object - contains pixels and metadata about the captured image. */
1580
+ imageData: ImageData;
1581
+ /** Orientation of the captured frame */
1582
+ orientation: ImageOrientation_2;
1583
+ /** Indicates whether captured frame originated from still image or video stream. */
1584
+ videoFrame: boolean;
1585
+ }
1586
+
1587
+ export declare type CaptureState = "side-captured" | "document-captured" | "first-side-capture-in-progress" | "second-side-capture-in-progress" | "barcode-scanning-in-progress";
1588
+
1589
+ /**
1590
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
1591
+ */
1592
+ /**
1593
+ * CardOrientation enum defines possible states of card orientation.
1594
+ */
1595
+ export declare enum CardOrientation {
1596
+ /** Card is horizontally placed inside the camera frame */
1597
+ Horizontal = 0,
1598
+ /** Card is vertically placed inside the camera frame */
1599
+ Vertical = 1,
1600
+ /** Card orientation is not available */
1601
+ NotAvailable = 2
1602
+ }
1603
+
1604
+ /**
1605
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
1606
+ */
1607
+ /**
1608
+ * CardRotation enum defines possible states of card rotation.
1609
+ */
1610
+ export declare enum CardRotation {
1611
+ /** Card is in its original position */
1612
+ None = 0,
1613
+ /** Card is rotated 90 degrees to the right */
1614
+ Clockwise90 = 1,
1615
+ /** Card is rotated 90 degrees to the left */
1616
+ CounterClockwise90 = 2,
1617
+ /** Card is flipped upside down */
1618
+ UpsideDown = 3
1619
+ }
1620
+
1621
+ export declare interface CCallOpts {
1622
+ async?: boolean | undefined;
1623
+ }
1624
+
1625
+ export declare class ClassAnonymizationSettings {
1626
+ classFilter: ClassFilter;
1627
+ /**
1628
+ * Fields to be anonymized.
1629
+ */
1630
+ fields: Array<FieldType>;
1631
+ /**
1632
+ * Anonymization settings for a document number.
1633
+ */
1634
+ documentNumberAnonymizationSettings: DocumentNumberAnonymizationSettings | null;
1635
+ }
1636
+
1637
+ export declare interface ClassFilter {
1638
+ /**
1639
+ * If set, specified fields will be anonymized on documents issued by
1640
+ * specified country only. Otherwise, issuing country will not be taken into
1641
+ * account during anonymization.
1642
+ */
1643
+ country: Country | null;
1644
+ /**
1645
+ * If set, specified fields will be anonymized on documents issued by
1646
+ * specified region only. Otherwise, issuing region will not be taken into
1647
+ * account during anonymization.
1648
+ */
1649
+ region: Region | null;
1650
+ /**
1651
+ * If set, specified fields will be anonymized on documents of specified
1652
+ * type only. Otherwise, document type will not be taken into account during
1653
+ * anonymization.
1654
+ */
1655
+ type: DocumentType_2 | null;
1656
+ }
1657
+
1658
+ /**
1659
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
1660
+ */
1661
+ export declare interface ClassInfo {
1662
+ /** The document country. */
1663
+ country: Country;
1664
+ /** The document region. */
1665
+ region: Region;
1666
+ /** The type of the scanned document. */
1667
+ documentType: DocumentType_2;
1668
+ /** The ISO numeric code of the country that issued the scanned document. */
1669
+ countryName?: string;
1670
+ /** The ISO numeric code of the country that issued the scanned document. */
1671
+ isoNumericCountryCode?: string;
1672
+ /** The 2 letter ISO code of the country that issued the scanned document. */
1673
+ isoAlpha2CountryCode?: string;
1674
+ /** The 3 letter ISO code of the country that issued the scanned document. */
1675
+ isoAlpha3CountryCode?: string;
1676
+ }
1677
+
1678
+ export declare enum Country {
1679
+ NONE = 0,
1680
+ ALBANIA = 1,
1681
+ ALGERIA = 2,
1682
+ ARGENTINA = 3,
1683
+ AUSTRALIA = 4,
1684
+ AUSTRIA = 5,
1685
+ AZERBAIJAN = 6,
1686
+ BAHRAIN = 7,
1687
+ BANGLADESH = 8,
1688
+ BELGIUM = 9,
1689
+ BOSNIA_AND_HERZEGOVINA = 10,
1690
+ BRUNEI = 11,
1691
+ BULGARIA = 12,
1692
+ CAMBODIA = 13,
1693
+ CANADA = 14,
1694
+ CHILE = 15,
1695
+ COLOMBIA = 16,
1696
+ COSTA_RICA = 17,
1697
+ CROATIA = 18,
1698
+ CYPRUS = 19,
1699
+ CZECHIA = 20,
1700
+ DENMARK = 21,
1701
+ DOMINICAN_REPUBLIC = 22,
1702
+ EGYPT = 23,
1703
+ ESTONIA = 24,
1704
+ FINLAND = 25,
1705
+ FRANCE = 26,
1706
+ GEORGIA = 27,
1707
+ GERMANY = 28,
1708
+ GHANA = 29,
1709
+ GREECE = 30,
1710
+ GUATEMALA = 31,
1711
+ HONG_KONG = 32,
1712
+ HUNGARY = 33,
1713
+ INDIA = 34,
1714
+ INDONESIA = 35,
1715
+ IRELAND = 36,
1716
+ ISRAEL = 37,
1717
+ ITALY = 38,
1718
+ JORDAN = 39,
1719
+ KAZAKHSTAN = 40,
1720
+ KENYA = 41,
1721
+ KOSOVO = 42,
1722
+ KUWAIT = 43,
1723
+ LATVIA = 44,
1724
+ LITHUANIA = 45,
1725
+ MALAYSIA = 46,
1726
+ MALDIVES = 47,
1727
+ MALTA = 48,
1728
+ MAURITIUS = 49,
1729
+ MEXICO = 50,
1730
+ MOROCCO = 51,
1731
+ NETHERLANDS = 52,
1732
+ NEW_ZEALAND = 53,
1733
+ NIGERIA = 54,
1734
+ PAKISTAN = 55,
1735
+ PANAMA = 56,
1736
+ PARAGUAY = 57,
1737
+ PHILIPPINES = 58,
1738
+ POLAND = 59,
1739
+ PORTUGAL = 60,
1740
+ PUERTO_RICO = 61,
1741
+ QATAR = 62,
1742
+ ROMANIA = 63,
1743
+ RUSSIA = 64,
1744
+ SAUDI_ARABIA = 65,
1745
+ SERBIA = 66,
1746
+ SINGAPORE = 67,
1747
+ SLOVAKIA = 68,
1748
+ SLOVENIA = 69,
1749
+ SOUTH_AFRICA = 70,
1750
+ SPAIN = 71,
1751
+ SWEDEN = 72,
1752
+ SWITZERLAND = 73,
1753
+ TAIWAN = 74,
1754
+ THAILAND = 75,
1755
+ TUNISIA = 76,
1756
+ TURKEY = 77,
1757
+ UAE = 78,
1758
+ UGANDA = 79,
1759
+ UK = 80,
1760
+ UKRAINE = 81,
1761
+ USA = 82,
1762
+ VIETNAM = 83,
1763
+ BRAZIL = 84,
1764
+ NORWAY = 85,
1765
+ OMAN = 86,
1766
+ ECUADOR = 87,
1767
+ EL_SALVADOR = 88,
1768
+ SRI_LANKA = 89,
1769
+ PERU = 90,
1770
+ URUGUAY = 91,
1771
+ BAHAMAS = 92,
1772
+ BERMUDA = 93,
1773
+ BOLIVIA = 94,
1774
+ CHINA = 95,
1775
+ EUROPEAN_UNION = 96,
1776
+ HAITI = 97,
1777
+ HONDURAS = 98,
1778
+ ICELAND = 99,
1779
+ JAPAN = 100,
1780
+ LUXEMBOURG = 101,
1781
+ MONTENEGRO = 102,
1782
+ NICARAGUA = 103,
1783
+ SOUTH_KOREA = 104,
1784
+ VENEZUELA = 105,
1785
+ AFGHANISTAN = 106,
1786
+ ALAND_ISLANDS = 107,
1787
+ AMERICAN_SAMOA = 108,
1788
+ ANDORRA = 109,
1789
+ ANGOLA = 110,
1790
+ ANGUILLA = 111,
1791
+ ANTARCTICA = 112,
1792
+ ANTIGUA_AND_BARBUDA = 113,
1793
+ ARMENIA = 114,
1794
+ ARUBA = 115,
1795
+ BAILIWICK_OF_GUERNSEY = 116,
1796
+ BAILIWICK_OF_JERSEY = 117,
1797
+ BARBADOS = 118,
1798
+ BELARUS = 119,
1799
+ BELIZE = 120,
1800
+ BENIN = 121,
1801
+ BHUTAN = 122,
1802
+ BONAIRE_SAINT_EUSTATIUS_AND_SABA = 123,
1803
+ BOTSWANA = 124,
1804
+ BOUVET_ISLAND = 125,
1805
+ BRITISH_INDIAN_OCEAN_TERRITORY = 126,
1806
+ BURKINA_FASO = 127,
1807
+ BURUNDI = 128,
1808
+ CAMEROON = 129,
1809
+ CAPE_VERDE = 130,
1810
+ CARIBBEAN_NETHERLANDS = 131,
1811
+ CAYMAN_ISLANDS = 132,
1812
+ CENTRAL_AFRICAN_REPUBLIC = 133,
1813
+ CHAD = 134,
1814
+ CHRISTMAS_ISLAND = 135,
1815
+ COCOS_ISLANDS = 136,
1816
+ COMOROS = 137,
1817
+ CONGO = 138,
1818
+ COOK_ISLANDS = 139,
1819
+ CUBA = 140,
1820
+ CURACAO = 141,
1821
+ DEMOCRATIC_REPUBLIC_OF_THE_CONGO = 142,
1822
+ DJIBOUTI = 143,
1823
+ DOMINICA = 144,
1824
+ EAST_TIMOR = 145,
1825
+ EQUATORIAL_GUINEA = 146,
1826
+ ERITREA = 147,
1827
+ ETHIOPIA = 148,
1828
+ FALKLAND_ISLANDS = 149,
1829
+ FAROE_ISLANDS = 150,
1830
+ FEDERATED_STATES_OF_MICRONESIA = 151,
1831
+ FIJI = 152,
1832
+ FRENCH_GUIANA = 153,
1833
+ FRENCH_POLYNESIA = 154,
1834
+ FRENCH_SOUTHERN_TERRITORIES = 155,
1835
+ GABON = 156,
1836
+ GAMBIA = 157,
1837
+ GIBRALTAR = 158,
1838
+ GREENLAND = 159,
1839
+ GRENADA = 160,
1840
+ GUADELOUPE = 161,
1841
+ GUAM = 162,
1842
+ GUINEA = 163,
1843
+ GUINEA_BISSAU = 164,
1844
+ GUYANA = 165,
1845
+ HEARD_ISLAND_AND_MCDONALD_ISLANDS = 166,
1846
+ IRAN = 167,
1847
+ IRAQ = 168,
1848
+ ISLE_OF_MAN = 169,
1849
+ IVORY_COAST = 170,
1850
+ JAMAICA = 171,
1851
+ KIRIBATI = 172,
1852
+ KYRGYZSTAN = 173,
1853
+ LAOS = 174,
1854
+ LEBANON = 175,
1855
+ LESOTHO = 176,
1856
+ LIBERIA = 177,
1857
+ LIBYA = 178,
1858
+ LIECHTENSTEIN = 179,
1859
+ MACAU = 180,
1860
+ MADAGASCAR = 181,
1861
+ MALAWI = 182,
1862
+ MALI = 183,
1863
+ MARSHALL_ISLANDS = 184,
1864
+ MARTINIQUE = 185,
1865
+ MAURITANIA = 186,
1866
+ MAYOTTE = 187,
1867
+ MOLDOVA = 188,
1868
+ MONACO = 189,
1869
+ MONGOLIA = 190,
1870
+ MONTSERRAT = 191,
1871
+ MOZAMBIQUE = 192,
1872
+ MYANMAR = 193,
1873
+ NAMIBIA = 194,
1874
+ NAURU = 195,
1875
+ NEPAL = 196,
1876
+ NEW_CALEDONIA = 197,
1877
+ NIGER = 198,
1878
+ NIUE = 199,
1879
+ NORFOLK_ISLAND = 200,
1880
+ NORTHERN_CYPRUS = 201,
1881
+ NORTHERN_MARIANA_ISLANDS = 202,
1882
+ NORTH_KOREA = 203,
1883
+ NORTH_MACEDONIA = 204,
1884
+ PALAU = 205,
1885
+ PALESTINE = 206,
1886
+ PAPUA_NEW_GUINEA = 207,
1887
+ PITCAIRN = 208,
1888
+ REUNION = 209,
1889
+ RWANDA = 210,
1890
+ SAINT_BARTHELEMY = 211,
1891
+ SAINT_HELENA_ASCENSION_AND_TRISTIAN_DA_CUNHA = 212,
1892
+ SAINT_KITTS_AND_NEVIS = 213,
1893
+ SAINT_LUCIA = 214,
1894
+ SAINT_MARTIN = 215,
1895
+ SAINT_PIERRE_AND_MIQUELON = 216,
1896
+ SAINT_VINCENT_AND_THE_GRENADINES = 217,
1897
+ SAMOA = 218,
1898
+ SAN_MARINO = 219,
1899
+ SAO_TOME_AND_PRINCIPE = 220,
1900
+ SENEGAL = 221,
1901
+ SEYCHELLES = 222,
1902
+ SIERRA_LEONE = 223,
1903
+ SINT_MAARTEN = 224,
1904
+ SOLOMON_ISLANDS = 225,
1905
+ SOMALIA = 226,
1906
+ SOUTH_GEORGIA_AND_THE_SOUTH_SANDWICH_ISLANDS = 227,
1907
+ SOUTH_SUDAN = 228,
1908
+ SUDAN = 229,
1909
+ SURINAME = 230,
1910
+ SVALBARD_AND_JAN_MAYEN = 231,
1911
+ ESWATINI = 232,
1912
+ SYRIA = 233,
1913
+ TAJIKISTAN = 234,
1914
+ TANZANIA = 235,
1915
+ TOGO = 236,
1916
+ TOKELAU = 237,
1917
+ TONGA = 238,
1918
+ TRINIDAD_AND_TOBAGO = 239,
1919
+ TURKMENISTAN = 240,
1920
+ TURKS_AND_CAICOS_ISLANDS = 241,
1921
+ TUVALU = 242,
1922
+ UNITED_STATES_MINOR_OUTLYING_ISLANDS = 243,
1923
+ UZBEKISTAN = 244,
1924
+ VANUATU = 245,
1925
+ VATICAN_CITY = 246,
1926
+ VIRGIN_ISLANDS_BRITISH = 247,
1927
+ VIRGIN_ISLANDS_US = 248,
1928
+ WALLIS_AND_FUTUNA = 249,
1929
+ WESTERN_SAHARA = 250,
1930
+ YEMEN = 251,
1931
+ YUGOSLAVIA = 252,
1932
+ ZAMBIA = 253,
1933
+ ZIMBABWE = 254,
1934
+ SCHENGEN_AREA = 255,
1935
+ COUNT = 256
1936
+ }
1937
+
1938
+ /**
1939
+ * Creates a new `BlinkIdCore` instance.
1940
+ * @param settings - The settings for the `BlinkIdCore` instance.
1941
+ * @returns A new `BlinkIdCore` instance.
1942
+ */
1943
+ export declare function createBlinkIdCore(settings: BlinkIdInitSettings): Promise<BlinkIdCore>;
1944
+
1945
+ /**
1946
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
1947
+ */
1948
+ /**
1949
+ * fix for postmessage performance
1950
+ * https://bugs.chromium.org/p/chromium/issues/detail?id=1439768&q=&can=4
1951
+ */
1952
+ export declare function createCustomImageData(imageData: ImageData): {
1953
+ data: Uint8ClampedArray<ArrayBufferLike>;
1954
+ width: number;
1955
+ height: number;
1956
+ colorSpace: PredefinedColorSpace;
1957
+ };
1958
+
1959
+ /**
1960
+ * Creates a Comlink-proxied Web Worker
1961
+ *
1962
+ * @param resourcesLocation where the "resources" directory is placed, default
1963
+ * is `window.location.href`
1964
+ * @returns a Comlink-proxied instance of the Web Worker
1965
+ */
1966
+ export declare const createProxyWorker: (resourcesLocation?: string) => Promise<Remote<BlinkIdWorkerProxy>>;
1967
+
1968
+ export declare interface CustomClassRules {
1969
+ /**
1970
+ * Specified fields will overrule our class field rules if filter conditions are met.
1971
+ */
1972
+ classFilter: ClassFilter;
1973
+ /**
1974
+ * Fields to overrule our class field rules.
1975
+ */
1976
+ fields: DetailedFieldType[];
1977
+ }
1978
+
1979
+ export declare interface DataMatchFieldState {
1980
+ /** Type of field on which data match algorithm has been performed. */
1981
+ fieldType: DataMatchFieldType;
1982
+ /** The state of the data match on the specified field. */
1983
+ state: DataMatchState;
1984
+ }
1985
+
1986
+ /**
1987
+ * Type of field on which data match algorithm has been performed.
1988
+ */
1989
+ export declare enum DataMatchFieldType {
1990
+ DateOfBirth = 0,
1991
+ DateOfExpiry = 1,
1992
+ DocumentNumber = 2,
1993
+ Count = 3
1994
+ }
1995
+
1996
+ export declare interface DataMatchResult {
1997
+ /** The state of the data match on the whole document. */
1998
+ state: DataMatchState;
1999
+ /** The state of the data match on the specified field. */
2000
+ states: Array<DataMatchFieldState>;
2001
+ }
2002
+
2003
+ /**
2004
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2005
+ */
2006
+ /**
2007
+ * Result of the data matching algorithm for scanned parts/sides of the document.
2008
+ */
2009
+ export declare enum DataMatchState {
2010
+ /** Data matching has not been performed. */
2011
+ NotPerformed = 0,
2012
+ /** Data does not match. */
2013
+ Failed = 1,
2014
+ /** Data match. */
2015
+ Success = 2
2016
+ }
2017
+
2018
+ /**
2019
+ * Smart date result structure.
2020
+ */
2021
+ export declare interface DateResult {
2022
+ day?: number;
2023
+ month?: number;
2024
+ year?: number;
2025
+ originalString?: StringResult;
2026
+ successfullyParsed?: boolean;
2027
+ filledByDomainKnowledge?: boolean;
2028
+ empty?: boolean;
2029
+ }
2030
+
2031
+ /**
2032
+ * The additional information on the document owner's dependents.
2033
+ */
2034
+ export declare interface DependentInfo {
2035
+ /**
2036
+ * The date of birth of the dependent.
2037
+ */
2038
+ readonly dateOfBirth: StringResult;
2039
+ /**
2040
+ * The sex or gender of the dependent.
2041
+ */
2042
+ readonly sex: StringResult;
2043
+ /**
2044
+ * The document number of the dependent.
2045
+ */
2046
+ readonly documentNumber: StringResult;
2047
+ /**
2048
+ * The full name of the dependent.
2049
+ */
2050
+ readonly fullName: StringResult;
2051
+ }
2052
+
2053
+ export declare interface DetailedFieldType {
2054
+ fieldType: FieldType;
2055
+ alphabetType: AlphabetType;
2056
+ }
2057
+
2058
+ /**
2059
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2060
+ */
2061
+ /**
2062
+ * Detection status of the specific detected object.
2063
+ */
2064
+ export declare enum DetectionStatus {
2065
+ /** Detection has failed. */
2066
+ Failed = 0,
2067
+ /** Document has been detected. */
2068
+ Success = 1,
2069
+ /** Document has been detected but the camera is too far from the document. */
2070
+ CameraTooFar = 2,
2071
+ /** Document has been detected but the camera is too close to the document. */
2072
+ CameraTooClose = 3,
2073
+ /** Document has been detected but the camera’s angle is too steep. */
2074
+ CameraAngleTooSteep = 4,
2075
+ /** Document has been detected but the document is too close to the camera edge. */
2076
+ DocumentTooCloseToCameraEdge = 5,
2077
+ /** Only part of the document is visible. */
2078
+ DocumentPartiallyVisible = 6
2079
+ }
2080
+
2081
+ /**
2082
+ * Interface representing any displayable object.
2083
+ */
2084
+ export declare interface Displayable {
2085
+ /** Detection status of the displayable object. */
2086
+ detectionStatus: DetectionStatus;
2087
+ /**
2088
+ * 3x3 transformation matrix from the image's coordinate system to view's coordinate system.
2089
+ */
2090
+ transformMatrix: Float32Array;
2091
+ }
2092
+
2093
+ /**
2094
+ * Interface representing list of points in image.
2095
+ */
2096
+ export declare interface DisplayablePoints extends Displayable {
2097
+ /** Array of points */
2098
+ points: Point[];
2099
+ }
2100
+
2101
+ /**
2102
+ * Interface representing quadrilateral in image.
2103
+ */
2104
+ export declare interface DisplayableQuad extends Displayable, Quadrilateral {
2105
+ }
2106
+
2107
+ /**
2108
+ * The document framing status for the current frame.
2109
+ */
2110
+ export declare type DocumentFramingStatus = "no-document" | "camera-too-far" | "camera-too-close" | "camera-angle-too-steep" | "document-too-close-to-frame-edge" | "document-not-fully-visible" | "ok";
2111
+
2112
+ /**
2113
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2114
+ */
2115
+ /**
2116
+ * DocumentImageColorStatus enum defines possible color statuses determined from scanned image.
2117
+ */
2118
+ export declare enum DocumentImageColorStatus {
2119
+ /** Determining image color status was not performed */
2120
+ NotAvailable = 0,
2121
+ /** Black-and-white image scanned */
2122
+ BlackAndWhite = 1,
2123
+ /** Color image scanned */
2124
+ Color = 2
2125
+ }
2126
+
2127
+ /**
2128
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2129
+ */
2130
+ /**
2131
+ * Copyright (c) Microblink Ltd. All rights reserved.
2132
+ */
2133
+ export declare interface DocumentNumberAnonymizationSettings {
2134
+ /**
2135
+ * Defines how many digits at the beginning of the document number remain visible after anonymization.
2136
+ */
2137
+ prefixDigitsVisible: number;
2138
+ /**
2139
+ * Defines how many digits at the end of the document number remain visible after anonymization.
2140
+ */
2141
+ suffixDigitsVisible: number;
2142
+ }
2143
+
2144
+ /**
2145
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2146
+ */
2147
+ /**
2148
+ * The side of the document.
2149
+ */
2150
+ export declare enum DocumentSide {
2151
+ Front = 0,
2152
+ Back = 1
2153
+ }
2154
+
2155
+ declare enum DocumentType_2 {
2156
+ NONE = 0,
2157
+ CONSULAR_ID = 1,
2158
+ DL = 2,
2159
+ DL_PUBLIC_SERVICES_CARD = 3,
2160
+ EMPLOYMENT_PASS = 4,
2161
+ FIN_CARD = 5,
2162
+ ID = 6,
2163
+ MULTIPURPOSE_ID = 7,
2164
+ MYKAD = 8,
2165
+ MYKID = 9,
2166
+ MYPR = 10,
2167
+ MYTENTERA = 11,
2168
+ PAN_CARD = 12,
2169
+ PROFESSIONAL_ID = 13,
2170
+ PUBLIC_SERVICES_CARD = 14,
2171
+ RESIDENCE_PERMIT = 15,
2172
+ RESIDENT_ID = 16,
2173
+ TEMPORARY_RESIDENCE_PERMIT = 17,
2174
+ VOTER_ID = 18,
2175
+ WORK_PERMIT = 19,
2176
+ IKAD = 20,
2177
+ MILITARY_ID = 21,
2178
+ MYKAS = 22,
2179
+ SOCIAL_SECURITY_CARD = 23,
2180
+ HEALTH_INSURANCE_CARD = 24,
2181
+ PASSPORT = 25,
2182
+ S_PASS = 26,
2183
+ ADDRESS_CARD = 27,
2184
+ ALIEN_ID = 28,
2185
+ ALIEN_PASSPORT = 29,
2186
+ GREEN_CARD = 30,
2187
+ MINORS_ID = 31,
2188
+ POSTAL_ID = 32,
2189
+ PROFESSIONAL_DL = 33,
2190
+ TAX_ID = 34,
2191
+ WEAPON_PERMIT = 35,
2192
+ VISA = 36,
2193
+ BORDER_CROSSING_CARD = 37,
2194
+ DRIVER_CARD = 38,
2195
+ GLOBAL_ENTRY_CARD = 39,
2196
+ MYPOLIS = 40,
2197
+ NEXUS_CARD = 41,
2198
+ PASSPORT_CARD = 42,
2199
+ PROOF_OF_AGE_CARD = 43,
2200
+ REFUGEE_ID = 44,
2201
+ TRIBAL_ID = 45,
2202
+ VETERAN_ID = 46,
2203
+ CITIZENSHIP_CERTIFICATE = 47,
2204
+ MY_NUMBER_CARD = 48,
2205
+ CONSULAR_PASSPORT = 49,
2206
+ MINORS_PASSPORT = 50,
2207
+ MINORS_PUBLIC_SERVICES_CARD = 51,
2208
+ DRIVING_PRIVILEGE_CARD = 52,
2209
+ ASYLUM_REQUEST = 53,
2210
+ DRIVER_QUALIFICATION_CARD = 54,
2211
+ PROVISIONAL_DL = 55,
2212
+ REFUGEE_PASSPORT = 56,
2213
+ SPECIAL_ID = 57,
2214
+ UNIFORMED_SERVICES_ID = 58,
2215
+ IMMIGRANT_VISA = 59,
2216
+ CONSULAR_VOTER_ID = 60,
2217
+ TWIC_CARD = 61,
2218
+ EXIT_ENTRY_PERMIT = 62,
2219
+ MAINLAND_TRAVEL_PERMIT_TAIWAN = 63,
2220
+ NBI_CLEARANCE = 64,
2221
+ PROOF_OF_REGISTRATION = 65,
2222
+ TEMPORARY_PROTECTION_PERMIT = 66,
2223
+ AFGHAN_CITIZEN_CARD = 67,
2224
+ EID = 68,
2225
+ PASS = 69,
2226
+ SIS_ID = 70,
2227
+ ASIC_CARD = 71,
2228
+ BIDOON_CARD = 72,
2229
+ INTERIM_HEALTH_INSURANCE_CARD = 73,
2230
+ NON_VOTER_ID = 74,
2231
+ RECIPROCAL_HEALTH_INSURANCE_CARD = 75,
2232
+ VEHICLE_REGISTRATION = 76,
2233
+ ESSAD_CARD = 77,
2234
+ COUNT = 78
2235
+ }
2236
+ export { DocumentType_2 as DocumentType }
2237
+
2238
+ /**
2239
+ * Driver's license specific data.
2240
+ */
2241
+ export declare interface DriverLicenseDetailedInfo {
2242
+ /** The driver license conditions. */
2243
+ conditions: StringResult;
2244
+ /**
2245
+ * The restrictions to driving privileges for the driver license owner.
2246
+ */
2247
+ restrictions: StringResult;
2248
+ /**
2249
+ * The additional privileges granted to the driver license owner.
2250
+ */
2251
+ endorsements: StringResult;
2252
+ /**
2253
+ * The type of vehicle the driver license owner has privilege to drive.
2254
+ */
2255
+ vehicleClass: StringResult;
2256
+ /**
2257
+ * The additional information on vehicle class.
2258
+ */
2259
+ vehicleClassesInfo: Array<VehicleClassInfo>;
2260
+ }
2261
+
2262
+ /**
2263
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2264
+ */
2265
+ /**
2266
+ * Specifies an abstract object placed on the WebAssembly heap.
2267
+ * Objects placed on the WebAssembly heap are not cleaned up by the
2268
+ * garbage collector of the JavaScript engine. The memory used by
2269
+ * the object must be cleaned up manually by calling the delete() method.
2270
+ *
2271
+ * {@link} https://emscripten.org/docs/porting/connecting_cpp_and_javascript/embind.html#memory-management
2272
+ */
2273
+ export declare abstract class EmbindObject {
2274
+ /**
2275
+ * Cleans up the object from the WebAssembly heap.
2276
+ */
2277
+ delete(): Promise<void>;
2278
+ }
2279
+
2280
+ export declare interface EmscriptenModule {
2281
+ print(str: string): void;
2282
+ printErr(str: string): void;
2283
+ arguments: string[];
2284
+ environment: EnvironmentType;
2285
+ preInit: Array<{
2286
+ (): void;
2287
+ }>;
2288
+ preRun: Array<{
2289
+ (): void;
2290
+ }>;
2291
+ postRun: Array<{
2292
+ (): void;
2293
+ }>;
2294
+ onAbort: {
2295
+ (what: any): void;
2296
+ };
2297
+ onRuntimeInitialized: {
2298
+ (): void;
2299
+ };
2300
+ preinitializedWebGLContext: WebGLRenderingContext;
2301
+ noInitialRun: boolean;
2302
+ noExitRuntime: boolean;
2303
+ logReadFiles: boolean;
2304
+ filePackagePrefixURL: string;
2305
+ wasmBinary: ArrayBuffer;
2306
+ mainScriptUrlOrBlob?: string;
2307
+ setStatus: (text: string) => void;
2308
+ /**
2309
+ * Allows you to provide your own WebAssembly.Memory to use as the memory. The
2310
+ * properties used to initialize the memory should match the compiler options.
2311
+ * For example, if you set INITIAL_MEMORY to 8MB without memory growth, then the
2312
+ * wasmMemory you provide (if any) should have both the 'initial' and 'maximum' set
2313
+ to 128 (due to WASM page sizes being 64KB).
2314
+ */
2315
+ wasmMemory: WebAssembly.Memory;
2316
+ destroy(object: object): void;
2317
+ getPreloadedPackage(remotePackageName: string, remotePackageSize: number): ArrayBuffer;
2318
+ instantiateWasm(imports: WebAssembly.Imports, successCallback: (module: WebAssembly.Instance) => void): WebAssembly.Exports | undefined;
2319
+ locateFile(url: string, scriptDirectory: string): string;
2320
+ onCustomMessage(event: MessageEvent): void;
2321
+ HEAP: Int32Array;
2322
+ IHEAP: Int32Array;
2323
+ FHEAP: Float64Array;
2324
+ HEAP8: Int8Array;
2325
+ HEAP16: Int16Array;
2326
+ HEAP32: Int32Array;
2327
+ HEAPU8: Uint8Array;
2328
+ HEAPU16: Uint16Array;
2329
+ HEAPU32: Uint32Array;
2330
+ HEAPF32: Float32Array;
2331
+ HEAPF64: Float64Array;
2332
+ HEAP64: BigInt64Array;
2333
+ HEAPU64: BigUint64Array;
2334
+ TOTAL_STACK: number;
2335
+ TOTAL_MEMORY: number;
2336
+ FAST_MEMORY: number;
2337
+ addOnPreRun(cb: () => any): void;
2338
+ addOnInit(cb: () => any): void;
2339
+ addOnPreMain(cb: () => any): void;
2340
+ addOnExit(cb: () => any): void;
2341
+ addOnPostRun(cb: () => any): void;
2342
+ preloadedImages: any;
2343
+ preloadedAudios: any;
2344
+ _malloc(size: number): number;
2345
+ _free(ptr: number): void;
2346
+ }
2347
+
2348
+ /**
2349
+ * A factory function is generated when setting the `MODULARIZE` build option
2350
+ * to `1` in your Emscripten build. It return a Promise that resolves to an
2351
+ * initialized, ready-to-call `EmscriptenModule` instance.
2352
+ *
2353
+ * By default, the factory function will be named `Module`. It's recommended to
2354
+ * use the `EXPORT_ES6` option, in which the factory function will be the
2355
+ * default export. If used without `EXPORT_ES6`, the factory function will be a
2356
+ * global variable. You can rename the variable using the `EXPORT_NAME` build
2357
+ * option. It's left to you to declare any global variables as needed in your
2358
+ * application's types.
2359
+ * @param moduleOverrides Default properties for the initialized module.
2360
+ */
2361
+ export declare type EmscriptenModuleFactory<T extends EmscriptenModule = EmscriptenModule> = (moduleOverrides?: Partial<T>) => Promise<T>;
2362
+
2363
+ export declare type EnvironmentType = "WEB" | "NODE" | "SHELL" | "WORKER";
2364
+
2365
+ /**
2366
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2367
+ */
2368
+ /**
2369
+ * Extension factors relative to corresponding dimension of the full image. For example,
2370
+ * {@code upFactor} and {@code downFactor} define extensions relative to image height, e.g.
2371
+ * when {@code upFactor} is 0.5, upper image boundary will be extended for half of image's full
2372
+ * height.
2373
+ */
2374
+ export declare interface ExtensionFactors {
2375
+ /**
2376
+ * Currently used image extension factor relative to full image height in UP direction.
2377
+ */
2378
+ upFactor: number;
2379
+ /**
2380
+ * Currently used image extension factor relative to full image height in DOWN direction.
2381
+ */
2382
+ downFactor: number;
2383
+ /**
2384
+ * Currently used image extension factor relative to full image height in LEFT direction.
2385
+ */
2386
+ leftFactor: number;
2387
+ /**
2388
+ * Currently used image extension factor relative to full image height in RIGHT direction.
2389
+ */
2390
+ rightFactor: number;
2391
+ }
2392
+
2393
+ export declare interface FaceImageOptions {
2394
+ /**
2395
+ * If enabled, the result will contain dewarped image of the face.
2396
+ */
2397
+ returnFaceImage: boolean;
2398
+ /**
2399
+ * If enabled, the result will contain JPEG-encoded image of the face.
2400
+ */
2401
+ returnEncodedFaceImage: boolean;
2402
+ /**
2403
+ * The DPI (Dots Per Inch) for face image in cases when it
2404
+ * should be returned. It applies for both encoded and non-encoded versions.
2405
+ */
2406
+ faceImageDpi: number;
2407
+ }
2408
+
2409
+ /**
2410
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2411
+ */
2412
+ /** List of possible types of fields that are extracted from identity documents. */
2413
+ export declare enum FieldType {
2414
+ AdditionalAddressInformation = 0,
2415
+ AdditionalNameInformation = 1,
2416
+ AdditionalOptionalAddressInformation = 2,
2417
+ AdditionalPersonalIdNumber = 3,
2418
+ Address = 4,
2419
+ ClassEffectiveDate = 5,
2420
+ ClassExpiryDate = 6,
2421
+ Conditions = 7,
2422
+ DateOfBirth = 8,
2423
+ DateOfExpiry = 9,
2424
+ DateOfIssue = 10,
2425
+ DocumentAdditionalNumber = 11,
2426
+ DocumentOptionalAdditionalNumber = 12,
2427
+ DocumentNumber = 13,
2428
+ Employer = 14,
2429
+ Endorsements = 15,
2430
+ FathersName = 16,
2431
+ FirstName = 17,
2432
+ FullName = 18,
2433
+ IssuingAuthority = 19,
2434
+ LastName = 20,
2435
+ LicenceType = 21,
2436
+ LocalizedName = 22,
2437
+ MaritalStatus = 23,
2438
+ MothersName = 24,
2439
+ Mrz = 25,
2440
+ Nationality = 26,
2441
+ PersonalIdNumber = 27,
2442
+ PlaceOfBirth = 28,
2443
+ Profession = 29,
2444
+ Race = 30,
2445
+ Religion = 31,
2446
+ ResidentialStatus = 32,
2447
+ Restrictions = 33,
2448
+ Sex = 34,
2449
+ VehicleClass = 35,
2450
+ BloodType = 36,
2451
+ Sponsor = 37,
2452
+ VisaType = 38,
2453
+ DocumentSubtype = 39,
2454
+ Remarks = 40,
2455
+ ResidencePermitType = 41,
2456
+ ManufacturingYear = 42,
2457
+ VehicleType = 43,
2458
+ DependentDateOfBirth = 44,
2459
+ DependentSex = 45,
2460
+ DependentDocumentNumber = 46,
2461
+ DependentFullName = 47,
2462
+ EligibilityCategory = 48,
2463
+ SpecificDocumentValidity = 49,
2464
+ VehicleOwner = 50,
2465
+ /** Number of possible field types. */
2466
+ Count = 51
2467
+ }
2468
+
2469
+ export declare type FrameAnalysisResult = {
2470
+ captureState: CaptureState;
2471
+ frameAnalysisStatus: FrameAnalysisStatus;
2472
+ processingStatus: ProcessingStatus;
2473
+ };
2474
+
2475
+ export declare type FrameAnalysisStatus = {
2476
+ framingStatus: DocumentFramingStatus;
2477
+ blurDetected?: boolean;
2478
+ glareDetected?: boolean;
2479
+ scanningWrongSide?: boolean;
2480
+ lowQualityInput?: boolean;
2481
+ quad?: DisplayableQuad;
2482
+ };
2483
+
2484
+ export declare interface FullDocumentImageOptions {
2485
+ /**
2486
+ * If enabled, the result will contain dewarped image of the document.
2487
+ */
2488
+ returnFullDocumentImage: boolean;
2489
+ /**
2490
+ * If enabled, the result will contain JPEG-encoded image of the document.
2491
+ */
2492
+ returnEncodedFullDocumentImage: boolean;
2493
+ /**
2494
+ * The DPI (Dots Per Inch) for full document image in cases when it
2495
+ * should be returned. It applies for both encoded and non-encoded versions.
2496
+ */
2497
+ fullDocumentImageDpi: number;
2498
+ /**
2499
+ * extension factors for full document image.
2500
+ */
2501
+ fullDocumentImageExtensionFactors: ExtensionFactors;
2502
+ }
2503
+
2504
+ export declare const getCrossOriginWorkerURL: (originalWorkerUrl: string, _options?: Options) => Promise<string>;
2505
+
2506
+ /**
2507
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2508
+ */
2509
+ /**
2510
+ * Gets the user id from local storage, or generates a new one
2511
+ * @returns a unique user id
2512
+ */
2513
+ export declare function getUserId(): string;
2514
+
2515
+ /**
2516
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2517
+ */
2518
+ /**
2519
+ * ImageAnalysisDetectionStatus enum defines possible states of specific image object detection.
2520
+ */
2521
+ export declare enum ImageAnalysisDetectionStatus {
2522
+ /** Detection was not performed */
2523
+ NotAvailable = 0,
2524
+ /** Object not detected on input image */
2525
+ NotDetected = 1,
2526
+ /** Object detected on input image */
2527
+ Detected = 2
2528
+ }
2529
+
2530
+ export declare interface ImageAnalysisResult {
2531
+ /**
2532
+ * Indicates if blur was detected on the scanned image.
2533
+ */
2534
+ blurDetected: boolean;
2535
+ /**
2536
+ * Indicates if glare was detected on the scanned image.
2537
+ */
2538
+ glareDetected: boolean;
2539
+ /**
2540
+ * Orientation of the card detected on the scanned image.
2541
+ */
2542
+ cardOrientation: CardOrientation;
2543
+ /**
2544
+ * The color status determined from scanned image.
2545
+ */
2546
+ documentImageColorStatus: DocumentImageColorStatus;
2547
+ /**
2548
+ * The Moire pattern detection status determined from the scanned image.
2549
+ */
2550
+ documentImageMoireStatus: ImageAnalysisDetectionStatus;
2551
+ /**
2552
+ * Face detection status determined from the scanned image.
2553
+ */
2554
+ faceDetectionStatus: ImageAnalysisDetectionStatus;
2555
+ /**
2556
+ * Mrz detection status determined from the scanned image.
2557
+ */
2558
+ mrzDetectionStatus: ImageAnalysisDetectionStatus;
2559
+ /**
2560
+ * Barcode detection status determined from the scanned image.
2561
+ */
2562
+ barcodeDetectionStatus: ImageAnalysisDetectionStatus;
2563
+ /**
2564
+ * RealID detection status determined from the scanned image.
2565
+ */
2566
+ realIDDetectionStatus: ImageAnalysisDetectionStatus;
2567
+ /**
2568
+ * Rotation of the card detected on the scanned image.
2569
+ */
2570
+ cardRotation?: CardRotation;
2571
+ }
2572
+
2573
+ /**
2574
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2575
+ */
2576
+ export declare enum ImageExtractionType {
2577
+ FullDocument = 0,
2578
+ Face = 1,
2579
+ Signature = 2
2580
+ }
2581
+
2582
+ /**
2583
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2584
+ */
2585
+ /**
2586
+ * Specifies the orientation of the contents of the image.
2587
+ * This is important for some recognizers, especially when
2588
+ * performing recognition on the mobile device.
2589
+ *
2590
+ * TODO: rename this interface as it's present in lib.dom.d.ts
2591
+ */
2592
+ declare enum ImageOrientation_2 {
2593
+ /**
2594
+ * Image contents are rotated 90 degrees left.
2595
+ * This usually happens on mobile devices when capturing image while
2596
+ * device is held in "portrait" orientation, while device camera sensor
2597
+ * is mounted horizontally (i.e. produced image is in "landscape" orienation).
2598
+ */
2599
+ RotatedLeft90 = 0,
2600
+ /**
2601
+ * Image contents are not rotated in any manner.
2602
+ * This is the default for images captured using HTML canvas, as
2603
+ * used in FrameCapture class.
2604
+ * This orientation also usually happens on mobile devices when capturing
2605
+ * image while device is held in "landscape" orientation, while device
2606
+ * camera sensor is mounted horizontally (i.e. also in same orientation).
2607
+ */
2608
+ NoRotation = 1,
2609
+ /**
2610
+ * Image contents are rotated 90 degrees right.
2611
+ * This usually happens on mobile devices when capturing image while
2612
+ * device is held in "reverse-portrait" orientation, while device camera sensor
2613
+ * is mounted horizontally (i.e. produced image is in "landscape" orienation).
2614
+ */
2615
+ RotatedRight90 = 2,
2616
+ /**
2617
+ * Image contents are rotated 180 degrees, i.e. image contents are "upside down".
2618
+ * This usually happens on mobile devices when capturing image while
2619
+ * device is held in "reverse-landscape" orientation, while device camera sensor
2620
+ * is mounted horizontally (i.e. produced image is in "landscape" orienation).
2621
+ */
2622
+ Rotated180 = 3
2623
+ }
2624
+ export { ImageOrientation_2 as ImageOrientation }
2625
+
2626
+ /**
2627
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2628
+ */
2629
+ export declare interface ImageResult {
2630
+ /**
2631
+ * Contains the original image that can be drawn to canvas.
2632
+ */
2633
+ rawImage: ImageData | null;
2634
+ /**
2635
+ * Contains the JPEG-encoded bytes of the image.
2636
+ */
2637
+ encodedImage: Uint8Array | null;
2638
+ }
2639
+
2640
+ export declare type LicenseRequest = Readonly<{
2641
+ licenseId: string;
2642
+ licensee: string;
2643
+ applicationIds: Array<string>;
2644
+ packageName: string;
2645
+ platform: string;
2646
+ sdkName: string;
2647
+ sdkVersion: string;
2648
+ }>;
2649
+
2650
+ export declare type LicenseStatusResponse = Record<string, string>;
2651
+
2652
+ export declare enum LicenseTokenState {
2653
+ Invalid = 0,
2654
+ RequiresServerPermission = 1,
2655
+ Valid = 2
2656
+ }
2657
+
2658
+ /**
2659
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2660
+ */
2661
+ export declare type LicenseUnlockResult = Readonly<{
2662
+ isTrial: boolean;
2663
+ hasPing: boolean;
2664
+ licenseId: string;
2665
+ licensee: string;
2666
+ applicationIds: Array<string>;
2667
+ packageName: string;
2668
+ sdkName: string;
2669
+ sdkVersion: string;
2670
+ unlockResult: LicenseTokenState;
2671
+ licenseError: string;
2672
+ }>;
2673
+
2674
+ /**
2675
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2676
+ */
2677
+ /**
2678
+ * Specifies a date object, as parsed from some documents.
2679
+ * Unlike JavaScript Date object, it does not depend on time zone.
2680
+ */
2681
+ export declare interface MBDate {
2682
+ /** Day in month. */
2683
+ day: number;
2684
+ /** Month in year. */
2685
+ month: number;
2686
+ /** Year */
2687
+ year: number;
2688
+ /** Original string on the document from which date was parsed. */
2689
+ originalString: string;
2690
+ /** Indicates whether date was parsed successfully. */
2691
+ successfullyParsed: boolean;
2692
+ /** Indicates whether object is empty. Note that it is possible to successfully parse an empty date. */
2693
+ empty: boolean;
2694
+ }
2695
+
2696
+ export declare interface MetadataCallbacks {
2697
+ /**
2698
+ * Called when recognition process wants to display some debug text information.
2699
+ * @param debugTest Debug text information to be displayed.
2700
+ */
2701
+ onDebugText?(debugTest: string): void;
2702
+ /**
2703
+ * Called when all recognizers in RecognizerRunner have failed to detect anything on the image.
2704
+ */
2705
+ onDetectionFailed?(): void;
2706
+ /**
2707
+ * Called when recognition process wants to display some quadrilateral.
2708
+ * @param quad Quadrilateral to be displayed.
2709
+ */
2710
+ onQuadDetection?(quad: DisplayableQuad): void;
2711
+ /**
2712
+ * Called when recognition process wants to display some points.
2713
+ * @param pointSet Points to be displayed.
2714
+ */
2715
+ onPointsDetection?(pointSet: DisplayablePoints): void;
2716
+ /**
2717
+ * Called when first side recognition with the multi-side recognizer completes.
2718
+ */
2719
+ onFirstSideResult?(): void;
2720
+ }
2721
+
2722
+ /**
2723
+ * Supported MRTD document types
2724
+ */
2725
+ export declare enum MrtdDocumentType {
2726
+ MRTD_TYPE_UNKNOWN = 0,
2727
+ /** Identity card */
2728
+ MRTD_TYPE_IDENITY_CARD = 1,
2729
+ /** Passport */
2730
+ MRTD_TYPE_PASSPORT = 2,
2731
+ /** Visa */
2732
+ MRTD_TYPE_VISA = 3,
2733
+ /** US Green Card */
2734
+ MRTD_TYPE_GREEN_CARD = 4,
2735
+ /** Malaysian PASS type IMM13P */
2736
+ MRTD_TYPE_MYS_PASS_IMM13P = 5,
2737
+ /** Driver's license */
2738
+ MRTD_TYPE_DL = 6,
2739
+ /** Internal travel document */
2740
+ MRTD_TYPE_INTERNAL_TRAVEL_DOCUMENT = 7,
2741
+ /** Border crossing card */
2742
+ MRTD_TYPE_BORDER_CROSSING_CARD = 8,
2743
+ /** Number of elements in this enum */
2744
+ MRTD_TYPE_COUNT = 9
2745
+ }
2746
+
2747
+ /**
2748
+ * Represents data extracted from MRZ (Machine Readable Zone) of Machine Readable Travel Document (MRTD).
2749
+ */
2750
+ export declare interface MrzResult {
2751
+ /**
2752
+ * The alien number. Contains empty string if not available.
2753
+ * Exists only on US Green Cards. To see which document was scanned use {@link documentType}.
2754
+ */
2755
+ alienNumber: string;
2756
+ /**
2757
+ * The application receipt number. Contains empty string if not available.
2758
+ * Exists only on US Green Cards. To see which document was scanned use {@link documentType}.
2759
+ */
2760
+ applicationReceiptNumber: string;
2761
+ /**
2762
+ * The holder's date of birth
2763
+ */
2764
+ dateOfBirth: MBDate;
2765
+ /**
2766
+ * The date of expiry
2767
+ */
2768
+ dateOfExpiry: MBDate;
2769
+ /**
2770
+ * The document code. Document code contains two characters. For MRTD the first character shall
2771
+ * be A, C or I. The second character shall be discretion of the issuing State or organization except
2772
+ * that V shall not be used, and `C` shall not be used after `A` except in the crew member certificate.
2773
+ * On machine-readable passports (MRP) first character shall be `P` to designate an MRP. One additional
2774
+ * letter may be used, at the discretion of the issuing State or organization, to designate a particular
2775
+ * MRP. If the second character position is not used for this purpose, it shall be filled by the filter
2776
+ * character <code>&lt;</code>.
2777
+ */
2778
+ documentCode: string;
2779
+ /**
2780
+ * The document number. Document number contains up to 9 characters.
2781
+ * Element does not exist on US Green Card. To see which document was scanned use {@link documentType}.
2782
+ */
2783
+ documentNumber: string;
2784
+ /**
2785
+ * The MRTD document type of recognized document.
2786
+ */
2787
+ documentType: MrtdDocumentType;
2788
+ /**
2789
+ * The gender of the card holder. Gender is specified by use of the single initial, capital letter F for female,
2790
+ * M for male or <code>&lt;</code> for unspecified.
2791
+ */
2792
+ gender: string;
2793
+ /**
2794
+ * The immigrant case number. Contains empty string if not available.
2795
+ * Exists only on US Green Cards. To see which document was scanned use {@link #documentType}.
2796
+ */
2797
+ immigrantCaseNumber: string;
2798
+ /**
2799
+ * The three-letter or two-letter code which indicate the issuing State. Three-letter codes are based
2800
+ * on Aplha-3 codes for entities specified in ISO 3166-1, with extensions for certain States. Two-letter
2801
+ * codes are based on Aplha-2 codes for entities specified in ISO 3166-1, with extensions for certain States.
2802
+ */
2803
+ issuer: string;
2804
+ /**
2805
+ * The full issuer name that is expanded from the three-letter or two-letter code which indicate
2806
+ * the issuing State.
2807
+ */
2808
+ issuerName: string;
2809
+ /**
2810
+ * Returns nationality of the holder represented by a three-letter or two-letter code. Three-letter
2811
+ * codes are based on Alpha-3 codes for entities specified in ISO 3166-1, with extensions for certain
2812
+ * States. Two-letter codes are based on Aplha-2 codes for entities specified in ISO 3166-1, with
2813
+ * extensions for certain States.
2814
+ */
2815
+ nationality: string;
2816
+ /**
2817
+ * Full nationality of the holder, which is expanded from the three-letter or two-letter
2818
+ * nationality code.
2819
+ */
2820
+ nationalityName: string;
2821
+ /**
2822
+ * The first optional data. Contains empty string if not available.
2823
+ * Element does not exist on US Green Card. To see which document was scanned use {@link #documentType}.
2824
+ */
2825
+ opt1: string;
2826
+ /**
2827
+ * The second optional data. Contains empty string if not available.
2828
+ * Element does not exist on Passports and Visas. To see which document was scanned use {@link #documentType}.
2829
+ */
2830
+ opt2: string;
2831
+ /**
2832
+ * true if Machine Readable Zone has been parsed, false otherwise.
2833
+ */
2834
+ parsed: boolean;
2835
+ /**
2836
+ * The primary indentifier. If there is more than one component, they are separated with space.
2837
+ */
2838
+ primaryID: string;
2839
+ /**
2840
+ * The entire Machine Readable Zone text from ID. This text is usually used for parsing
2841
+ * other elements.
2842
+ * NOTE: This string is available only if OCR result was parsed successfully.
2843
+ */
2844
+ rawMRZString: string;
2845
+ /**
2846
+ * The document code, but without additional '<' characters if they exist.
2847
+ *
2848
+ * @see #documentCode
2849
+ */
2850
+ sanitizedDocumentCode: string;
2851
+ /**
2852
+ * The document number, but without additional '<' characters if they exist.
2853
+ *
2854
+ * @see #documentNumber
2855
+ */
2856
+ sanitizedDocumentNumber: string;
2857
+ /**
2858
+ * The issuer, but without additional '<' characters if they exist.
2859
+ *
2860
+ * @see #issuer
2861
+ */
2862
+ sanitizedIssuer: string;
2863
+ /**
2864
+ * The nationality, but without additional '<' characters if they exist.
2865
+ *
2866
+ * @see #nationality
2867
+ */
2868
+ sanitizedNationality: string;
2869
+ /**
2870
+ * The opt1 field, but without additional '<' characters if they exist.
2871
+ *
2872
+ * @see #opt1
2873
+ */
2874
+ sanitizedOpt1: string;
2875
+ /**
2876
+ * The opt2 field, but without additional '<' characters if they exist.
2877
+ *
2878
+ * @see #opt2
2879
+ */
2880
+ sanitizedOpt2: string;
2881
+ /**
2882
+ * The secondary identifier. If there is more than one component, they are separated with space.
2883
+ */
2884
+ secondaryID: string;
2885
+ /**
2886
+ * True if all check digits inside MRZ are correct, false otherwise.
2887
+ */
2888
+ verified: boolean;
2889
+ }
2890
+
2891
+ /**
2892
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2893
+ */
2894
+ declare type Options = {
2895
+ skipSameOrigin?: boolean;
2896
+ useBlob?: boolean;
2897
+ };
2898
+
2899
+ /**
2900
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2901
+ */
2902
+ /**
2903
+ * Interface representing a point in image.
2904
+ */
2905
+ export declare interface Point {
2906
+ /** X-coordinate of the point */
2907
+ x: number;
2908
+ /** Y-coordinate of the point */
2909
+ y: number;
2910
+ }
2911
+
2912
+ /**
2913
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2914
+ */
2915
+ /** Detailed information about the recognition process. */
2916
+ export declare enum ProcessingStatus {
2917
+ /** The document was fully scanned and data was extracted as expected. */
2918
+ Success = 0,
2919
+ /** The document was not found on the image. */
2920
+ DetectionFailed = 1,
2921
+ /** Preprocessing of the input image has failed. */
2922
+ ImagePreprocessingFailed = 2,
2923
+ /**
2924
+ * Stability is achieved when the same document is provided on consecutive frames,
2925
+ * resulting in a consistent recognition between frames prior to data extraction.
2926
+ * Valid only for video feed.
2927
+ */
2928
+ StabilityTestFailed = 3,
2929
+ /**
2930
+ * The wrong side of the document is scanned. Front side scan is completed and back side is expected, but not
2931
+ * provided by the end-user.
2932
+ *
2933
+ * Possible also if front is expected at the start of the scanning process and back is presented first
2934
+ * by the end-user.
2935
+ */
2936
+ ScanningWrongSide = 4,
2937
+ /** Unexpected fields are present on the document and removed from the final result. */
2938
+ FieldIdentificationFailed = 5,
2939
+ /** Fields expected to appear on the scanned document have not been found. */
2940
+ MandatoryFieldMissing = 6,
2941
+ /**
2942
+ * One of the extracted fields contains a character which does not satisfy the rule defined for that
2943
+ * specific field.
2944
+ *
2945
+ * This processing status can only occur if validateResultCharacters setting is set to true.
2946
+ */
2947
+ InvalidCharactersFound = 7,
2948
+ /** Failed to return a requested image. */
2949
+ ImageReturnFailed = 8,
2950
+ /** Reading or parsing of the barcode has failed. */
2951
+ BarcodeRecognitionFailed = 9,
2952
+ /** Parsing of the MRZ has failed. */
2953
+ MrzParsingFailed = 10,
2954
+ /**
2955
+ * Currently scanned document has been filtered out by its class.
2956
+ * Occurrence of this processing status is affected by classFilter setting.
2957
+ */
2958
+ ClassFiltered = 11,
2959
+ /** Document currently not supported by the recognizer. */
2960
+ UnsupportedClass = 12,
2961
+ /** Document class is not included in the issued license. */
2962
+ UnsupportedByLicense = 13,
2963
+ /**
2964
+ * Front side recognition has completed successfully, and recognizer is waiting for the other side to be scanned.
2965
+ */
2966
+ AwaitingOtherSide = 14,
2967
+ /** If front side recognition has not completed successfully, the back side is not scanned. */
2968
+ NotScanned = 15,
2969
+ /** The barcode was not found on the image. This processing status can only occur if document has mandatory
2970
+ barcode. */
2971
+ BarcodeDetectionFailed = 16,
2972
+ /** Number of possible processing statuses. */
2973
+ Count = 17
2974
+ }
2975
+
2976
+ /**
2977
+ * Interface representing a quadrilateral
2978
+ */
2979
+ export declare interface Quadrilateral {
2980
+ /** Top-left point of the quadrilateral */
2981
+ topLeft: Point;
2982
+ /** Top-right point of the quadrilateral */
2983
+ topRight: Point;
2984
+ /** Bottom-left point of the quadrilateral */
2985
+ bottomLeft: Point;
2986
+ /** Bottom-right point of the quadrilateral */
2987
+ bottomRight: Point;
2988
+ }
2989
+
2990
+ /**
2991
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
2992
+ */
2993
+ /**
2994
+ * RecognitionMode enum defines possible recognition modes for BlinkID Single-side and BlinkID Multi-side recognizers.
2995
+ */
2996
+ export declare enum RecognitionMode {
2997
+ /** No recognition performed. */
2998
+ None = 0,
2999
+ /** Recognition of mrz document (does not include visa and passport) */
3000
+ MrzId = 1,
3001
+ /** Recognition of visa mrz. */
3002
+ MrzVisa = 2,
3003
+ /** Recognition of passport mrz. */
3004
+ MrzPassport = 3,
3005
+ /** Recognition of documents that have face photo on the front. */
3006
+ PhotoId = 4,
3007
+ /** Detailed document recognition. */
3008
+ FullRecognition = 5,
3009
+ /** Recognition of barcode document. */
3010
+ BarcodeId = 6,
3011
+ /** Number of possible values */
3012
+ Count = 7
3013
+ }
3014
+
3015
+ /**
3016
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
3017
+ */
3018
+ /**
3019
+ * RecognitionModeFilter is used to enable/disable recognition of specific document groups.
3020
+ * Setting is taken into account only if the right for that document is purchased.
3021
+ */
3022
+ export declare interface RecognitionModeFilter {
3023
+ /** Enable scanning of MRZ IDs. Setting is taken into account only if the mrz_id right is purchased. */
3024
+ enableMrzId: boolean;
3025
+ /** Enable scanning of Passport MRZ. Setting is taken into account only if the passport right is purchased. */
3026
+ enableMrzPassport: boolean;
3027
+ /** Enable scanning of visa MRZ. Setting is taken into account only if the visa right is purchased. */
3028
+ enableMrzVisa: boolean;
3029
+ /** Enable scanning of Photo ID. Setting is taken into account only if the photo_id right is purchased. */
3030
+ enablePhotoId: boolean;
3031
+ /**
3032
+ * Enable scanning of barcode IDs. Setting is taken into account only if the barcode right to
3033
+ * scan that barcode is purchased.
3034
+ */
3035
+ enableBarcodeId: boolean;
3036
+ /**
3037
+ * Enable full document recognition. Setting is taken into account only if the document right to
3038
+ * scan that document is purchased.
3039
+ */
3040
+ enableFullDocumentRecognition: boolean;
3041
+ }
3042
+
3043
+ export declare abstract class Recognizer<TSettings, TResult> extends EmbindObject {
3044
+ getResult: () => TResult;
3045
+ currentSettings: () => TSettings;
3046
+ updateSettings: (settings: TSettings) => void;
3047
+ toSignedJSON: () => SignedJSON;
3048
+ }
3049
+
3050
+ export declare interface RecognizerImageOptions extends FullDocumentImageOptions, FaceImageOptions, SignatureImageOptions {
3051
+ }
3052
+
3053
+ /**
3054
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
3055
+ */
3056
+ /**
3057
+ * Specifies the state of the recognition result.
3058
+ */
3059
+ export declare enum RecognizerResultState {
3060
+ /** Nothing has been recognized. */
3061
+ Empty = 0,
3062
+ /** Something has been recognized, but some mandatory data is still missing. */
3063
+ Uncertain = 1,
3064
+ /** All required data has been recognized. */
3065
+ Valid = 2,
3066
+ /** Single stage of a multi-stage recognition is finished. */
3067
+ StageValid = 3
3068
+ }
3069
+
3070
+ export declare class RecognizerRunner extends EmbindObject {
3071
+ constructor(recognizers: Array<BlinkIdRecognizer>, allowMultipleResults: boolean, metadataCallbacks: MetadataCallbacks);
3072
+ reconfigureRecognizers: (recognizers: Array<BlinkIdRecognizer>, allowMultipleResults: boolean) => void;
3073
+ resetRecognizers: (resetBothSides: boolean) => void;
3074
+ processImage: (image: CapturedFrame) => RecognizerResultState;
3075
+ setJSDelegate: (metadataCallbacks: MetadataCallbacks) => void;
3076
+ setDetectionOnlyMode: (detectionOnly: boolean) => void;
3077
+ setCameraPreviewMirrored: (mirrored: boolean) => void;
3078
+ setPingProxyUrl: (url: string) => void;
3079
+ }
3080
+
3081
+ export declare interface Rectangle {
3082
+ /** Top-left point of the rectangle */
3083
+ topLeft: Point;
3084
+ /** Bottom-right point of the rectangle */
3085
+ bottomRight: Point;
3086
+ }
3087
+
3088
+ export declare enum Region {
3089
+ NONE = 0,
3090
+ ALABAMA = 1,
3091
+ ALASKA = 2,
3092
+ ALBERTA = 3,
3093
+ ARIZONA = 4,
3094
+ ARKANSAS = 5,
3095
+ AUSTRALIAN_CAPITAL_TERRITORY = 6,
3096
+ BRITISH_COLUMBIA = 7,
3097
+ CALIFORNIA = 8,
3098
+ COLORADO = 9,
3099
+ CONNECTICUT = 10,
3100
+ DELAWARE = 11,
3101
+ DISTRICT_OF_COLUMBIA = 12,
3102
+ FLORIDA = 13,
3103
+ GEORGIA = 14,
3104
+ HAWAII = 15,
3105
+ IDAHO = 16,
3106
+ ILLINOIS = 17,
3107
+ INDIANA = 18,
3108
+ IOWA = 19,
3109
+ KANSAS = 20,
3110
+ KENTUCKY = 21,
3111
+ LOUISIANA = 22,
3112
+ MAINE = 23,
3113
+ MANITOBA = 24,
3114
+ MARYLAND = 25,
3115
+ MASSACHUSETTS = 26,
3116
+ MICHIGAN = 27,
3117
+ MINNESOTA = 28,
3118
+ MISSISSIPPI = 29,
3119
+ MISSOURI = 30,
3120
+ MONTANA = 31,
3121
+ NEBRASKA = 32,
3122
+ NEVADA = 33,
3123
+ NEW_BRUNSWICK = 34,
3124
+ NEW_HAMPSHIRE = 35,
3125
+ NEW_JERSEY = 36,
3126
+ NEW_MEXICO = 37,
3127
+ NEW_SOUTH_WALES = 38,
3128
+ NEW_YORK = 39,
3129
+ NORTHERN_TERRITORY = 40,
3130
+ NORTH_CAROLINA = 41,
3131
+ NORTH_DAKOTA = 42,
3132
+ NOVA_SCOTIA = 43,
3133
+ OHIO = 44,
3134
+ OKLAHOMA = 45,
3135
+ ONTARIO = 46,
3136
+ OREGON = 47,
3137
+ PENNSYLVANIA = 48,
3138
+ QUEBEC = 49,
3139
+ QUEENSLAND = 50,
3140
+ RHODE_ISLAND = 51,
3141
+ SASKATCHEWAN = 52,
3142
+ SOUTH_AUSTRALIA = 53,
3143
+ SOUTH_CAROLINA = 54,
3144
+ SOUTH_DAKOTA = 55,
3145
+ TASMANIA = 56,
3146
+ TENNESSEE = 57,
3147
+ TEXAS = 58,
3148
+ UTAH = 59,
3149
+ VERMONT = 60,
3150
+ VICTORIA = 61,
3151
+ VIRGINIA = 62,
3152
+ WASHINGTON = 63,
3153
+ WESTERN_AUSTRALIA = 64,
3154
+ WEST_VIRGINIA = 65,
3155
+ WISCONSIN = 66,
3156
+ WYOMING = 67,
3157
+ YUKON = 68,
3158
+ CIUDAD_DE_MEXICO = 69,
3159
+ JALISCO = 70,
3160
+ NEWFOUNDLAND_AND_LABRADOR = 71,
3161
+ NUEVO_LEON = 72,
3162
+ BAJA_CALIFORNIA = 73,
3163
+ CHIHUAHUA = 74,
3164
+ GUANAJUATO = 75,
3165
+ GUERRERO = 76,
3166
+ MEXICO = 77,
3167
+ MICHOACAN = 78,
3168
+ NEW_YORK_CITY = 79,
3169
+ TAMAULIPAS = 80,
3170
+ VERACRUZ = 81,
3171
+ CHIAPAS = 82,
3172
+ COAHUILA = 83,
3173
+ DURANGO = 84,
3174
+ GUERRERO_COCULA = 85,
3175
+ GUERRERO_JUCHITAN = 86,
3176
+ GUERRERO_TEPECOACUILCO = 87,
3177
+ GUERRERO_TLACOAPA = 88,
3178
+ GUJARAT = 89,
3179
+ HIDALGO = 90,
3180
+ KARNATAKA = 91,
3181
+ KERALA = 92,
3182
+ KHYBER_PAKHTUNKHWA = 93,
3183
+ MADHYA_PRADESH = 94,
3184
+ MAHARASHTRA = 95,
3185
+ MORELOS = 96,
3186
+ NAYARIT = 97,
3187
+ OAXACA = 98,
3188
+ PUEBLA = 99,
3189
+ PUNJAB = 100,
3190
+ QUERETARO = 101,
3191
+ SAN_LUIS_POTOSI = 102,
3192
+ SINALOA = 103,
3193
+ SONORA = 104,
3194
+ TABASCO = 105,
3195
+ TAMIL_NADU = 106,
3196
+ YUCATAN = 107,
3197
+ ZACATECAS = 108,
3198
+ AGUASCALIENTES = 109,
3199
+ BAJA_CALIFORNIA_SUR = 110,
3200
+ CAMPECHE = 111,
3201
+ COLIMA = 112,
3202
+ QUINTANA_ROO_BENITO_JUAREZ = 113,
3203
+ UINTANA_ROO = 114,
3204
+ QUINTANA_ROO_SOLIDARIDAD = 115,
3205
+ TLAXCALA = 116,
3206
+ QUINTANA_ROO_COZUMEL = 117,
3207
+ SAO_PAOLO = 118,
3208
+ RIO_DE_JANEIRO = 119,
3209
+ RIO_GRANDE_DO_SUL = 120,
3210
+ NORTHWEST_TERRITORIES = 121,
3211
+ NUNAVUT = 122,
3212
+ PRINCE_EDWARD_ISLAND = 123,
3213
+ DISTRITO_FEDERAL = 124,
3214
+ MARANHAO = 125,
3215
+ MATO_GROSSO = 126,
3216
+ MINAS_GERAIS = 127,
3217
+ PARA = 128,
3218
+ PARANA = 129,
3219
+ PERNAMBUCO = 130,
3220
+ SANTA_CATARINA = 131,
3221
+ ANDHRA_PRADESH = 132,
3222
+ CEARA = 133,
3223
+ GOIAS = 134,
3224
+ GUERRERO_ACAPULCO_DE_JUAREZ = 135,
3225
+ HARYANA = 136,
3226
+ SERGIPE = 137,
3227
+ ALAGOAS = 138,
3228
+ BANGSAMORO = 139,
3229
+ COUNT = 140
3230
+ }
3231
+
3232
+ export declare type RemoteWorker = ReturnType<typeof createProxyWorker>;
3233
+
3234
+ export declare type ServerPermissionSubmitResult = Readonly<{
3235
+ status: ServerPermissionSubmitResultStatus;
3236
+ lease: number;
3237
+ networkErrorDescription?: string;
3238
+ }>;
3239
+
3240
+ export declare enum ServerPermissionSubmitResultStatus {
3241
+ Ok = 0,
3242
+ NetworkError = 1,
3243
+ RemoteLock = 2,
3244
+ PermissionExpired = 3,
3245
+ PayloadCorrupted = 4,
3246
+ PayloadSignatureVerificationFailed = 5,
3247
+ IncorrectTokenState = 6
3248
+ }
3249
+
3250
+ export declare interface SignatureImageOptions {
3251
+ /**
3252
+ * If enabled, the result will contain dewarped image of the signature.
3253
+ */
3254
+ returnSignatureImage: boolean;
3255
+ /**
3256
+ * If enabled, the result will contain JPEG-encoded image of the signature.
3257
+ */
3258
+ returnEncodedSignatureImage: boolean;
3259
+ /**
3260
+ * The DPI (Dots Per Inch) for signature image in cases when it
3261
+ * should be returned. It applies for both encoded and non-encoded versions.
3262
+ */
3263
+ signatureImageDpi: number;
3264
+ }
3265
+
3266
+ export declare type SignedJSON = {
3267
+ payload: string;
3268
+ signature: string;
3269
+ signatureVersion: string;
3270
+ };
3271
+
3272
+ /**
3273
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
3274
+ */
3275
+ export declare enum StrictnessLevel {
3276
+ Strict = 0,
3277
+ Normal = 1,
3278
+ Relaxed = 2
3279
+ }
3280
+
3281
+ /**
3282
+ * Multi-script string result structure.
3283
+ */
3284
+ export declare interface StringResult {
3285
+ arabic?: string;
3286
+ cyrillic?: string;
3287
+ latin?: string;
3288
+ arabicLocation?: Rectangle;
3289
+ cyrillicLocation?: Rectangle;
3290
+ latinLocation?: Rectangle;
3291
+ arabicSide?: DocumentSide;
3292
+ cyrillicSide?: DocumentSide;
3293
+ latinSide?: DocumentSide;
3294
+ }
3295
+
3296
+ /**
3297
+ * Tests if local storage is available in the browser
3298
+ */
3299
+ export declare function testLocalStorage(): boolean;
3300
+
3301
+ /**
3302
+ * The additional information on vehicle class.
3303
+ */
3304
+ export declare interface VehicleClassInfo {
3305
+ vehicleClass: StringResult;
3306
+ licenceType: StringResult;
3307
+ effectiveDate: DateResult;
3308
+ expiryDate: DateResult;
3309
+ }
3310
+
3311
+ /**
3312
+ * VIZResult contains data extracted from the Visual Inspection Zone.
3313
+ */
3314
+ export declare interface VIZResult {
3315
+ /** The first name of the document owner. */
3316
+ firstName: StringResult;
3317
+ /** The last name of the document owner. */
3318
+ lastName: StringResult;
3319
+ /** The full name of the document owner. */
3320
+ fullName: StringResult;
3321
+ /** The additional name information of the document owner. */
3322
+ additionalNameInformation: StringResult;
3323
+ /** The localized name of the document owner. */
3324
+ localizedName: StringResult;
3325
+ /** The fathers name of the document owner. */
3326
+ fathersName: StringResult;
3327
+ /** The mothers name of the document owner. */
3328
+ mothersName: StringResult;
3329
+ /** The address of the document owner. */
3330
+ address: StringResult;
3331
+ /** THe additional address information of the document owner. */
3332
+ additionalAddressInformation: StringResult;
3333
+ additionalOptionalAddressInformation: StringResult;
3334
+ /** The place of birth of the document owner. */
3335
+ placeOfBirth: StringResult;
3336
+ /** The nationality of the document owner. */
3337
+ nationality: StringResult;
3338
+ /** The race of the document owner. */
3339
+ race: StringResult;
3340
+ /** The religion of the document owner. */
3341
+ religion: StringResult;
3342
+ /** The profession of the document owner. */
3343
+ profession: StringResult;
3344
+ /** The marital status of the document owner. */
3345
+ maritalStatus: StringResult;
3346
+ /** The residential status of the document owner. */
3347
+ residentialStatus: StringResult;
3348
+ /** The employer of the document owner. */
3349
+ employer: StringResult;
3350
+ /** The sex of the document owner. */
3351
+ sex: StringResult;
3352
+ /** The date of birth of the document owner. */
3353
+ dateOfBirth: DateResult;
3354
+ /** The date of issue of the document. */
3355
+ dateOfIssue: DateResult;
3356
+ /** The date of expiry of the document. */
3357
+ dateOfExpiry: DateResult;
3358
+ /** Determines if date of expiry is permanent. */
3359
+ dateOfExpiryPermanent: boolean;
3360
+ /** The document number. */
3361
+ documentNumber: StringResult;
3362
+ /** The personal identification number. */
3363
+ personalIdNumber: StringResult;
3364
+ /** The additional number of the document. */
3365
+ documentAdditionalNumber: StringResult;
3366
+ /** The one more additional number of the document. */
3367
+ documentOptionalAdditionalNumber: StringResult;
3368
+ /** The additional personal identification number. */
3369
+ additionalPersonalIdNumber: StringResult;
3370
+ /** The issuing authority of the document. */
3371
+ issuingAuthority: StringResult;
3372
+ /** The driver license detailed info. */
3373
+ driverLicenseDetailedInfo: DriverLicenseDetailedInfo;
3374
+ /** Sponsor for a document owner. */
3375
+ sponsor: StringResult;
3376
+ /** Blood type on a document owner. */
3377
+ bloodType: StringResult;
3378
+ /** Subtype of a document */
3379
+ documentSubtype: StringResult;
3380
+ empty: boolean;
3381
+ /** Remarks on a document. */
3382
+ remarks: StringResult;
3383
+ /** Type of residence permit. */
3384
+ residencePermitType: StringResult;
3385
+ /** Type of visa. */
3386
+ visaType: StringResult;
3387
+ /** The manufacturing year. */
3388
+ manufacturingYear: StringResult;
3389
+ /** The vehicle type. */
3390
+ vehicleType: StringResult;
3391
+ /** The eligibility category. */
3392
+ eligibilityCategory: StringResult;
3393
+ /** The specific document validity. */
3394
+ specificDocumentValidity: StringResult;
3395
+ /** The dependents info. */
3396
+ dependentsInfo: Array<DependentInfo>;
3397
+ /**
3398
+ * The vehicle owner.
3399
+ */
3400
+ readonly vehicleOwner: StringResult;
3401
+ }
3402
+
3403
+ declare type WasmVariant = "basic" | "advanced" | "advanced-threads";
3404
+
3405
+ /**
3406
+ * Copyright (c) 2025 Microblink Ltd. All rights reserved.
3407
+ */
3408
+ export declare interface WebAssemblyModule {
3409
+ }
3410
+
3411
+ export { }