@regulaforensics/document-reader 9.1.485-nightly → 9.1.493-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/RNDocumentReader.podspec +2 -2
  2. package/android/build.gradle +2 -2
  3. package/android/cordova.gradle +2 -2
  4. package/android/src/main/java/com/regula/plugin/documentreader/Config.kt +8 -0
  5. package/android/src/main/java/com/regula/plugin/documentreader/JSONConstructor.kt +346 -40
  6. package/android/src/main/java/com/regula/plugin/documentreader/Main.kt +62 -8
  7. package/android/src/main/java/com/regula/plugin/documentreader/Utils.kt +62 -0
  8. package/examples/capacitor/ios/App/App/Info.plist +2 -0
  9. package/examples/capacitor/package.json +1 -1
  10. package/examples/ionic/config.xml +2 -0
  11. package/examples/ionic/package-lock.json +5257 -2650
  12. package/examples/ionic/package.json +10 -10
  13. package/examples/react_native/app.config.ts +3 -1
  14. package/examples/react_native/package-lock.json +3 -3
  15. package/examples/react_native/package.json +1 -1
  16. package/ios/RGLWConfig.m +9 -2
  17. package/ios/RGLWJSONConstructor.h +19 -0
  18. package/ios/RGLWJSONConstructor.m +349 -0
  19. package/ios/RGLWMain.m +49 -0
  20. package/package.json +1 -1
  21. package/plugin.xml +2 -2
  22. package/test/json.tsx +200 -95
  23. package/test/package-lock.json +1 -1
  24. package/test/test.tsx +12 -2
  25. package/www/capacitor/engagement/DataRetrieval.js +55 -0
  26. package/www/capacitor/engagement/DeviceEngagement.js +30 -0
  27. package/www/capacitor/engagement/DeviceRetrievalMethod.js +41 -0
  28. package/www/capacitor/engagement/DocumentRequestMDL.js +212 -0
  29. package/www/capacitor/engagement/NameSpaceMDL.js +33 -0
  30. package/www/capacitor/index.js +54 -2
  31. package/www/capacitor/info/DocReaderException.js +2 -0
  32. package/www/capacitor/params/Functionality.js +16 -0
  33. package/www/capacitor/params/customization/Customization.js +8 -0
  34. package/www/capacitor/params/process_params/ProcessParams.js +16 -0
  35. package/www/capacitor/results/Results.js +8 -1
  36. package/www/capacitor/results/status/AgeStatus.js +35 -0
  37. package/www/capacitor/results/status/ResultsStatus.js +13 -0
  38. package/www/capacitor/results/visible_digital_seals/DocFeature.js +23 -0
  39. package/www/capacitor/results/visible_digital_seals/VDSData.js +75 -0
  40. package/www/capacitor/results/visual_results/FieldType.js +3 -0
  41. package/www/capacitor/rfid/PKDCertificate.js +3 -0
  42. package/www/cordova.js +951 -177
  43. package/www/react-native/engagement/DataRetrieval.js +55 -0
  44. package/www/react-native/engagement/DeviceEngagement.js +30 -0
  45. package/www/react-native/engagement/DeviceRetrievalMethod.js +41 -0
  46. package/www/react-native/engagement/DocumentRequestMDL.js +212 -0
  47. package/www/react-native/engagement/NameSpaceMDL.js +33 -0
  48. package/www/react-native/index.js +54 -2
  49. package/www/react-native/info/DocReaderException.js +2 -0
  50. package/www/react-native/params/Functionality.js +16 -0
  51. package/www/react-native/params/customization/Customization.js +8 -0
  52. package/www/react-native/params/process_params/ProcessParams.js +16 -0
  53. package/www/react-native/results/Results.js +8 -1
  54. package/www/react-native/results/status/AgeStatus.js +35 -0
  55. package/www/react-native/results/status/ResultsStatus.js +13 -0
  56. package/www/react-native/results/visible_digital_seals/DocFeature.js +23 -0
  57. package/www/react-native/results/visible_digital_seals/VDSData.js +75 -0
  58. package/www/react-native/results/visual_results/FieldType.js +3 -0
  59. package/www/react-native/rfid/PKDCertificate.js +3 -0
  60. package/www/types/engagement/DataRetrieval.d.ts +28 -0
  61. package/www/types/engagement/DeviceEngagement.d.ts +16 -0
  62. package/www/types/engagement/DeviceRetrievalMethod.d.ts +18 -0
  63. package/www/types/engagement/DocumentRequestMDL.d.ts +61 -0
  64. package/www/types/engagement/NameSpaceMDL.d.ts +16 -0
  65. package/www/types/index.d.ts +35 -2
  66. package/www/types/info/DocReaderException.d.ts +2 -0
  67. package/www/types/params/Functionality.d.ts +7 -0
  68. package/www/types/params/customization/Customization.d.ts +5 -0
  69. package/www/types/params/process_params/ProcessParams.d.ts +13 -0
  70. package/www/types/results/Results.d.ts +9 -1
  71. package/www/types/results/status/AgeStatus.d.ts +14 -0
  72. package/www/types/results/status/ResultsStatus.d.ts +9 -0
  73. package/www/types/results/visible_digital_seals/DocFeature.d.ts +9 -0
  74. package/www/types/results/visible_digital_seals/VDSData.d.ts +32 -0
  75. package/www/types/results/visible_digital_seals/VDSNCData.d.ts +1 -1
  76. package/www/types/results/visual_results/FieldType.d.ts +6 -0
  77. package/www/types/rfid/PKDCertificate.d.ts +7 -1
@@ -0,0 +1,35 @@
1
+ import { CheckResult } from './CheckResult';
2
+
3
+ export class AgeStatus {
4
+ threshold
5
+ overThreshold
6
+ over18
7
+ over21
8
+ over25
9
+ over65
10
+
11
+ static fromJson(jsonObject) {
12
+ if (jsonObject == null) return null;
13
+ const result = new AgeStatus();
14
+
15
+ result.threshold = jsonObject["threshold"];
16
+ result.overThreshold = jsonObject["overThreshold"];
17
+ result.over18 = jsonObject["over18"];
18
+ result.over21 = jsonObject["over21"];
19
+ result.over25 = jsonObject["over25"];
20
+ result.over65 = jsonObject["over65"];
21
+
22
+ return result;
23
+ }
24
+
25
+ toJson() {
26
+ return {
27
+ "threshold": this.threshold,
28
+ "overThreshold": this.overThreshold,
29
+ "over18": this.over18,
30
+ "over21": this.over21,
31
+ "over25": this.over25,
32
+ "over65": this.over65,
33
+ }
34
+ }
35
+ }
@@ -1,5 +1,6 @@
1
1
  import { CheckResult } from './CheckResult';
2
2
  import { OpticalStatus } from './OpticalStatus';
3
+ import { AgeStatus } from './AgeStatus';
3
4
  import { RFIDStatus } from './RFIDStatus';
4
5
 
5
6
  export class ResultsStatus {
@@ -10,6 +11,10 @@ export class ResultsStatus {
10
11
  detailsRFID
11
12
  portrait
12
13
  stopList
14
+ mDL
15
+ age
16
+ captureProcessIntegrity
17
+ ageStatus
13
18
 
14
19
  static fromJson(jsonObject) {
15
20
  if (jsonObject == null) return null;
@@ -22,6 +27,10 @@ export class ResultsStatus {
22
27
  result.detailsRFID = RFIDStatus.fromJson(jsonObject["detailsRFID"]);
23
28
  result.portrait = jsonObject["portrait"];
24
29
  result.stopList = jsonObject["stopList"];
30
+ result.mDL = jsonObject["mDL"];
31
+ result.age = jsonObject["age"];
32
+ result.captureProcessIntegrity = jsonObject["captureProcessIntegrity"];
33
+ result.ageStatus = AgeStatus.fromJson(jsonObject["detailsAge"]);
25
34
 
26
35
  return result;
27
36
  }
@@ -33,8 +42,12 @@ export class ResultsStatus {
33
42
  "rfid": this.rfid,
34
43
  "portrait": this.portrait,
35
44
  "stopList": this.stopList,
45
+ "mDL": this.mDL,
46
+ "age": this.age,
47
+ "captureProcessIntegrity": this.captureProcessIntegrity,
36
48
  "detailsOptical": this.detailsOptical?.toJson(),
37
49
  "detailsRFID": this.detailsRFID?.toJson(),
50
+ "detailsAge": this.ageStatus?.toJson(),
38
51
  }
39
52
  }
40
53
  }
@@ -0,0 +1,23 @@
1
+ import { BytesData } from './BytesData';
2
+
3
+ export class DocFeature {
4
+ type
5
+ data
6
+
7
+ static fromJson(jsonObject) {
8
+ if (jsonObject == null) return null;
9
+
10
+ const result = new DocFeature();
11
+ result.type = jsonObject["type"];
12
+ result.data = BytesData.fromJson(jsonObject["data"]);
13
+
14
+ return result;
15
+ }
16
+
17
+ toJson() {
18
+ return {
19
+ "type": this.type,
20
+ "data": this.data?.toJson(),
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,75 @@
1
+ import { CertificateChain } from '../rfid/CertificateChain';
2
+ import { BytesData } from './BytesData';
3
+ import { DocFeature } from './DocFeature';
4
+
5
+ export class VDSData {
6
+ type
7
+ docType
8
+ featureRef
9
+ version
10
+ issuingCountry
11
+ docIssueDate
12
+ signature
13
+ signatureDate
14
+ signer
15
+ certificate
16
+ certificateChain
17
+ docFeatures
18
+ notifications
19
+
20
+ static fromJson(jsonObject) {
21
+ if (jsonObject == null) return null;
22
+ const result = new VDSData();
23
+
24
+ result.type = jsonObject["type"];
25
+ result.docType = jsonObject["docType"];
26
+ result.featureRef = jsonObject["featureRef"];
27
+ result.version = jsonObject["version"];
28
+ result.issuingCountry = jsonObject["issuingCountry"];
29
+ result.docIssueDate = jsonObject["docIssueDate"];
30
+ result.signature = BytesData.fromJson(jsonObject["signature"]);
31
+ result.signatureDate = jsonObject["signatureDate"];
32
+ result.signer = jsonObject["signer"];
33
+ result.certificate = jsonObject["certificate"];
34
+ result.notifications = jsonObject["notifications"];
35
+
36
+ if (jsonObject["certificateChain"] != null) {
37
+ result.certificateChain = [];
38
+ for (const item of jsonObject["certificateChain"]) {
39
+ const certificateChain = CertificateChain.fromJson(item);
40
+ if (certificateChain != null) {
41
+ result.certificateChain.push(certificateChain);
42
+ }
43
+ }
44
+ }
45
+ if (jsonObject["docFeatures"] != null) {
46
+ result.docFeatures = [];
47
+ for (const item of jsonObject["docFeatures"]) {
48
+ const docFeature = DocFeature.fromJson(item);
49
+ if (docFeature != null) {
50
+ result.docFeatures.push(docFeature);
51
+ }
52
+ }
53
+ }
54
+
55
+ return result;
56
+ }
57
+
58
+ toJson() {
59
+ return {
60
+ "type": this.type,
61
+ "docType": this.docType,
62
+ "featureRef": this.featureRef,
63
+ "version": this.version,
64
+ "issuingCountry": this.issuingCountry,
65
+ "docIssueDate": this.docIssueDate,
66
+ "signature": this.signature?.toJson(),
67
+ "signatureDate": this.signatureDate,
68
+ "signer": this.signer,
69
+ "certificate": this.certificate,
70
+ "certificateChain": this.certificateChain?.map(e => e.toJson()),
71
+ "docFeatures": this.docFeatures?.map(e => e.toJson()),
72
+ "notifications": this.notifications,
73
+ }
74
+ }
75
+ }
@@ -653,6 +653,9 @@ export const FieldType = {
653
653
  NATIONALITY_CODE_ALPHA_2: 697,
654
654
  FIRST_ISSUE_DATE_CHECKDIGIT: 698,
655
655
  FIRST_ISSUE_DATE_CHECKSUM: 699,
656
+ COMMERCIAL_INDICATOR: 701,
657
+ NON_DOMICILED_INDICATOR: 702,
658
+ JURISDICTION_SPECIFIC_DATA: 703,
656
659
  }
657
660
 
658
661
  FieldType.getTranslation = async function (value) {
@@ -36,6 +36,9 @@ export const PKDResourceType = {
36
36
  DEFL: 5,
37
37
  DEVL: 6,
38
38
  BL: 7,
39
+ LDIF_TA: 8,
40
+ ML_TA: 9,
41
+ CBOR: 10,
39
42
 
40
43
  getType(value) {
41
44
  switch (value) {
@@ -0,0 +1,28 @@
1
+ import { DocumentRequestMDL } from "./DocumentRequestMDL";
2
+ import { MDLIntentToRetain } from "./NameSpaceMDL";
3
+
4
+ export declare class DataRetrieval {
5
+ constructor(deviceRetrieval: MDLDocRequestPreset);
6
+
7
+ setDocRequestPreset(docRequestPreset: MDLDocRequestPreset, intentToRetain: MDLIntentToRetain): void
8
+ addDocRequest(request: DocumentRequestMDL): void;
9
+
10
+ /**
11
+ * Allows you to deserialize object.
12
+ * @param jsonObject
13
+ */
14
+ static fromJson(jsonObject: any): DataRetrieval | null;
15
+ }
16
+
17
+ export declare enum MDLDocRequestPreset {
18
+ ALL = 0,
19
+ AGE = 1,
20
+ STANDARD_ID = 2,
21
+ TRAVEL = 3,
22
+ DRIVERS_LICENSE = 4,
23
+ }
24
+
25
+ export declare enum MDLDeviceRetrieval {
26
+ NFC = 1,
27
+ BLE = 2,
28
+ }
@@ -0,0 +1,16 @@
1
+ import { DeviceRetrievalMethod } from "./DeviceRetrievalMethod";
2
+
3
+ export declare class DeviceEngagement {
4
+ deviceRetrievalMethods: DeviceRetrievalMethod[];
5
+
6
+ /**
7
+ * Allows you to deserialize object.
8
+ * @param jsonObject
9
+ */
10
+ static fromJson(jsonObject: any): DeviceEngagement | null;
11
+ }
12
+
13
+ export declare enum MDLDeviceEngagement {
14
+ QR = 0,
15
+ NFC = 1,
16
+ }
@@ -0,0 +1,18 @@
1
+ import { MDLDeviceRetrieval } from "./DataRetrieval";
2
+
3
+ export declare class DeviceRetrievalMethod {
4
+ readonly type: MDLDeviceRetrieval;
5
+ readonly version?: number;
6
+ readonly cmdMaxLength?: number;
7
+ readonly respMaxLength?: number;
8
+ readonly clientModeSupport?: boolean;
9
+ readonly clientModeUUID?: string;
10
+ readonly serverModeSupport?: boolean;
11
+ readonly serverModeUUID?: string;
12
+
13
+ /**
14
+ * Allows you to deserialize object.
15
+ * @param jsonObject
16
+ */
17
+ static fromJson(jsonObject: any): DeviceRetrievalMethod | null;
18
+ }
@@ -0,0 +1,61 @@
1
+ import { NameSpaceMDL, MDLIntentToRetain } from "./NameSpaceMDL";
2
+
3
+ export declare class DocumentRequestMDL {
4
+ constructor(docType: string);
5
+
6
+ addNameSpace(namespace: NameSpaceMDL): void;
7
+
8
+ /**
9
+ * Allows you to deserialize object.
10
+ * @param jsonObject
11
+ */
12
+ static fromJson(jsonObject: any): DocumentRequestMDL | null;
13
+ }
14
+
15
+ export declare class DocumentRequest18013MDL extends DocumentRequestMDL {
16
+ familyName? : MDLIntentToRetain;
17
+ givenName? : MDLIntentToRetain;
18
+ birthDate? : MDLIntentToRetain;
19
+ issueDate? : MDLIntentToRetain;
20
+ expiryDate? : MDLIntentToRetain;
21
+ issuingCountry? : MDLIntentToRetain;
22
+ issuingAuthority? : MDLIntentToRetain;
23
+ documentNumber? : MDLIntentToRetain;
24
+ portrait? : MDLIntentToRetain;
25
+ drivingPrivileges? : MDLIntentToRetain;
26
+ unDistinguishingSign? : MDLIntentToRetain;
27
+ administrativeNumber? : MDLIntentToRetain;
28
+ sex? : MDLIntentToRetain;
29
+ height? : MDLIntentToRetain;
30
+ weight? : MDLIntentToRetain;
31
+ eyeColour? : MDLIntentToRetain;
32
+ hairColour? : MDLIntentToRetain;
33
+ birthPlace? : MDLIntentToRetain;
34
+ residentAddress? : MDLIntentToRetain;
35
+ portraitCaptureDate? : MDLIntentToRetain;
36
+ ageInYears? : MDLIntentToRetain;
37
+ ageBirthYear? : MDLIntentToRetain;
38
+ ageOver18? : MDLIntentToRetain;
39
+ issuingJurisdiction? : MDLIntentToRetain;
40
+ nationality? : MDLIntentToRetain;
41
+ residentCity? : MDLIntentToRetain;
42
+ residentState? : MDLIntentToRetain;
43
+ residentPostalCode? : MDLIntentToRetain;
44
+ residentCountry? : MDLIntentToRetain;
45
+ biometricTemplateFace? : MDLIntentToRetain;
46
+ biometricTemplateIris? : MDLIntentToRetain;
47
+ biometricTemplateFinger? : MDLIntentToRetain;
48
+ biometricTemplateSignatureSign? : MDLIntentToRetain;
49
+ familyNameNationalCharacter? : MDLIntentToRetain;
50
+ givenNameNationalCharacter? : MDLIntentToRetain;
51
+ signatureUsualMark? : MDLIntentToRetain;
52
+
53
+ disableIntentToRetainValues(): void
54
+ enableIntentToRetainValues(): void
55
+
56
+ /**
57
+ * Allows you to deserialize object.
58
+ * @param jsonObject
59
+ */
60
+ static fromJson(jsonObject: any): DocumentRequest18013MDL | null;
61
+ }
@@ -0,0 +1,16 @@
1
+ export declare class NameSpaceMDL {
2
+ constructor(name: string);
3
+
4
+ addField(name: string, intentToRetain: MDLIntentToRetain): void;
5
+
6
+ /**
7
+ * Allows you to deserialize object.
8
+ * @param jsonObject
9
+ */
10
+ static fromJson(jsonObject: any): NameSpaceMDL | null;
11
+ }
12
+
13
+ export declare enum MDLIntentToRetain {
14
+ FALSE = 0,
15
+ TRUE = 1,
16
+ }
@@ -41,8 +41,9 @@ import { RFIDStatus } from './results/status/RFIDStatus';
41
41
  import { ResultsStatus } from './results/status/ResultsStatus';
42
42
  import { CheckResult } from './results/status/CheckResult';
43
43
  import { OpticalStatus } from './results/status/OpticalStatus';
44
+ import { AgeStatus } from './results/status/AgeStatus';
44
45
  import { ProcessingFinishedStatus } from './results/Results';
45
- export { RFIDStatus, ResultsStatus, CheckResult, OpticalStatus, ProcessingFinishedStatus };
46
+ export { RFIDStatus, ResultsStatus, CheckResult, OpticalStatus, AgeStatus, ProcessingFinishedStatus };
46
47
 
47
48
  import { CheckDiagnose } from './results/authenticity/CheckDiagnose';
48
49
  import { AuthenticityElement } from './results/authenticity/AuthenticityElement';
@@ -67,8 +68,10 @@ export { ImageQuality, ImageQualityGroup, ImageQualityCheckType };
67
68
  import { LDSParsingErrorCodes } from './results/visible_digital_seals/LDSParsingErrorCodes';
68
69
  import { VDSNCData } from './results/visible_digital_seals/VDSNCData';
69
70
  import { BytesData } from './results/visible_digital_seals/BytesData';
71
+ import { DocFeature } from './results/visible_digital_seals/DocFeature';
72
+ import { VDSData } from './results/visible_digital_seals/VDSData';
70
73
  import { LDSParsingNotificationCodes } from './results/visible_digital_seals/LDSParsingNotificationCodes';
71
- export { LDSParsingErrorCodes, VDSNCData, BytesData, LDSParsingNotificationCodes };
74
+ export { LDSParsingErrorCodes, VDSNCData, BytesData, DocFeature, VDSData, LDSParsingNotificationCodes };
72
75
 
73
76
  import { SecurityObject } from './results/rfid/SecurityObject';
74
77
  import { CardProperties } from './results/rfid/CardProperties';
@@ -129,6 +132,13 @@ import { TAChallenge } from './rfid/TAChallenge';
129
132
  import { PKDCertificate, PKDResourceType } from './rfid/PKDCertificate';
130
133
  export { PAResourcesIssuer, RFIDErrorCodes, TccParams, RFIDNotification, RFIDNotificationCodes, PAAttribute, TAChallenge, PKDCertificate, PKDResourceType };
131
134
 
135
+ import { DataRetrieval, MDLDocRequestPreset, MDLDeviceRetrieval } from './engagement/DataRetrieval';
136
+ import { DeviceEngagement, MDLDeviceEngagement } from './engagement/DeviceEngagement';
137
+ import { NameSpaceMDL, MDLIntentToRetain } from './engagement/NameSpaceMDL';
138
+ import { DocumentRequestMDL, DocumentRequest18013MDL } from './engagement/DocumentRequestMDL';
139
+ import { DeviceRetrievalMethod } from './engagement/DeviceRetrievalMethod';
140
+ export { DataRetrieval, MDLDocRequestPreset, MDLDeviceRetrieval, DeviceEngagement, MDLDeviceEngagement, DeviceRetrievalMethod, DocumentRequest18013MDL, MDLIntentToRetain, NameSpaceMDL, DocumentRequestMDL };
141
+
132
142
 
133
143
  /**
134
144
  * Entry point of the Regula Document Reader.
@@ -369,6 +379,29 @@ export class DocumentReader {
369
379
 
370
380
  /** It's used to end transaction during backend processing. */
371
381
  endBackendTransaction(): void;
382
+
383
+ /**
384
+ * Used to read MDL.
385
+ */
386
+ readMDL(type: MDLDeviceEngagement, retrieval: DataRetrieval): Promise<[action: DocReaderAction, results: Results | null, error: DocReaderException | null]>;
387
+
388
+ /**
389
+ * Used to engage device.
390
+ *
391
+ * @param withoutUI - If `true`, then Regula's UI will not be shown and user is supposed to implement the UI himself.
392
+ *
393
+ * @param data - Required if @param type = {@link MDLDeviceEngagement.QR} and @param withoutUI = `true`.
394
+ */
395
+ engageDevice(type: MDLDeviceEngagement, options?: {withoutUI: boolean, data?: string}): Promise<[engagement: DeviceEngagement | null, error: DocReaderException | null]>;
396
+
397
+ /**
398
+ * Used to retrieve data.
399
+ *
400
+ * @param withoutUI - If set, then Regula's UI will not be shown and user is supposed to implement the UI himself.
401
+ *
402
+ * @param engagement - Required for @param withoutUI = `null` or {@link MDLDeviceRetrieval.BLE}. Not needed for {@link MDLDeviceRetrieval.NFC}
403
+ */
404
+ retrieveData(retrieval: DataRetrieval, options?: {withoutUI: MDLDeviceRetrieval, engagement?: DeviceEngagement}): Promise<[action: DocReaderAction, results: Results | null, error: DocReaderException | null]>;
372
405
  }
373
406
 
374
407
  /**
@@ -68,6 +68,7 @@ export declare enum ErrorCodes {
68
68
  CAMERA_NOT_AVAILABLE = 30,
69
69
  /** The camera not supported in this scenario. */
70
70
  CANNOT_USE_CAMERA_IN_SCENario = 40,
71
+ BLUETOOTH_NO_PERMISSION = 41,
71
72
  BACKEND_ONLINE_PROCESSING = 303,
72
73
  WRONG_INPUT = 400,
73
74
  /** Missing output result. */
@@ -79,5 +80,6 @@ export declare enum ErrorCodes {
79
80
  FEATURE_BLUETOOTH_LE_NOT_SUPPORTED = 601,
80
81
  APP_BACKGROUND = 700,
81
82
  ONLINE_PROCESSING_WRONG_INPUT = 800,
83
+ MDL_EXCEPTION = 900,
82
84
  NATIVE_JAVA_EXCEPTION = 1000,
83
85
  }
@@ -135,6 +135,12 @@ export declare class Functionality {
135
135
  * @default false
136
136
  */
137
137
  preventScreenRecording?: boolean;
138
+ /**
139
+ * If it's set to true, system is allowed to hide the visual indicator for returning to the Home Screen in landscape mode.
140
+ *
141
+ * @default true
142
+ */
143
+ homeIndicatorAutoHide?: boolean;
138
144
  /**
139
145
  * Allows you to specify a time interval when the Capture button
140
146
  * has to be displayed after the document is detected.
@@ -219,6 +225,7 @@ export declare class Functionality {
219
225
  * Android only.
220
226
  */
221
227
  videoRecordingSizeDownscaleFactor?: number;
228
+ mdlTimeout?: number;
222
229
  /**
223
230
  * A list of devices that must not use the camera2 API.
224
231
  *
@@ -272,6 +272,11 @@ export declare class Customization {
272
272
  */
273
273
  cameraPreviewVerticalPositionMultiplier?: number;
274
274
 
275
+ /**
276
+ * Allows you to change the location of the multipage button.
277
+ */
278
+ multipageButtonPositionMultiplier?: number;
279
+
275
280
  /**
276
281
  * Allows you to set any image for the multipage animation (front side). Base64 string.
277
282
  */
@@ -206,6 +206,11 @@ export declare class ProcessParams {
206
206
  * Default: `true`.
207
207
  */
208
208
  returnTransliteratedFields?: boolean;
209
+
210
+ /**
211
+ * Android only.
212
+ */
213
+ checkCaptureProcessIntegrity?: boolean;
209
214
  /**
210
215
  * There are documents that contain barcodes which data can be parsed only
211
216
  * if document type verification is performed. The following property allows
@@ -396,6 +401,14 @@ export declare class ProcessParams {
396
401
  * Unmodifiable property. Use setter instead of editing.
397
402
  */
398
403
  lcidFilter?: LCID[];
404
+ /**
405
+ * If a document contains a Visual zone, you can specify a list of field types that should be excluded from extraction.
406
+ * All field types listed in this array are skipped during processing, while the remaining fields are recognized.
407
+ * This filter is not applicable to the MRZ, barcode or RFID. If the fieldTypesIgnoreFilter is empty, all fields are extracted.
408
+ *
409
+ * Unmodifiable property. Use setter instead of editing.
410
+ */
411
+ fieldTypesIgnoreFilter?: FieldType[];
399
412
  /**
400
413
  * Controls properties of {@link ImageQA} checks.
401
414
  */
@@ -15,6 +15,7 @@ import { VDSNCData } from "./visible_digital_seals/VDSNCData";
15
15
  import { Position } from "./Position";
16
16
  import { DocumentType } from "./DocumentType";
17
17
  import { TransactionInfo } from "./TransactionInfo";
18
+ import { VDSData } from "./visible_digital_seals/VDSData";
18
19
 
19
20
  /** Class describing results returned on completion of Document Reader work. */
20
21
  export declare class Results {
@@ -47,6 +48,8 @@ export declare class Results {
47
48
  readonly barcodeResult: BarcodeResult | null;
48
49
  /** Visible Digital Seal data. */
49
50
  readonly vdsncData: VDSNCData | null;
51
+ /** Visible Digital Seal data. */
52
+ readonly vdsData: VDSData | null;
50
53
  /** DTCVC data. */
51
54
  readonly dtcData: string | null;
52
55
  /** Document processing finish status, one of RGLProcessingFinishedStatus values. */
@@ -279,5 +282,10 @@ export declare enum ResultType {
279
282
  */
280
283
  RFID_ORIGINAL_GRAPHICS = 105,
281
284
  /** Digital Travel Credential data. */
282
- RFID_DTC_VC = 109
285
+ RFID_DTC_VC = 109,
286
+ MDL_PARSED_RESPONSE = 121,
287
+ /** VDS_NC. */
288
+ VDS_NC = 124,
289
+ /** VDS. */
290
+ VDS = 125,
283
291
  }
@@ -0,0 +1,14 @@
1
+ import { CheckResult } from "./CheckResult";
2
+
3
+ /** Container for an age related scanning statuses. */
4
+ export declare class AgeStatus {
5
+ readonly threshold: number;
6
+ readonly overThreshold: CheckResult;
7
+ readonly over18: CheckResult;
8
+ readonly over21: CheckResult;
9
+ readonly over25: CheckResult;
10
+ readonly over65: CheckResult;
11
+
12
+ /** Allows you to deserialize object. */
13
+ static fromJson(jsonObject: any): AgeStatus | null;
14
+ }
@@ -1,5 +1,6 @@
1
1
  import { CheckResult } from "./CheckResult";
2
2
  import { OpticalStatus } from "./OpticalStatus";
3
+ import { AgeStatus } from "./AgeStatus";
3
4
  import { RFIDStatus } from "./RFIDStatus";
4
5
 
5
6
  /** Provision of document verification status. */
@@ -18,6 +19,14 @@ export declare class ResultsStatus {
18
19
  readonly portrait: CheckResult;
19
20
  /** Verification status for document data against database. */
20
21
  readonly stopList: CheckResult;
22
+ /** Summary of all mDL results. */
23
+ readonly mDL: CheckResult;
24
+ /** Summary of all age results. */
25
+ readonly age: CheckResult;
26
+ /** Android only. */
27
+ readonly captureProcessIntegrity: CheckResult;
28
+ /** Container for an age related scanning statuses. */
29
+ readonly ageStatus: AgeStatus;
21
30
 
22
31
  /** Allows you to deserialize object. */
23
32
  static fromJson(jsonObject: any): ResultsStatus | null;
@@ -0,0 +1,9 @@
1
+ import { BytesData } from "./BytesData";
2
+
3
+ export declare class DocFeature {
4
+ readonly type: number;
5
+ readonly data: BytesData;
6
+
7
+ /** Allows you to deserialize object. */
8
+ static fromJson(jsonObject: any): DocFeature | null;
9
+ }
@@ -0,0 +1,32 @@
1
+ import { CertificateChain } from "../rfid/CertificateChain";
2
+ import { BytesData } from './BytesData';
3
+ import { DocFeature } from "./DocFeature";
4
+
5
+ /** Visible Digital Seal. */
6
+ export declare class VDSData {
7
+ readonly type?: number;
8
+ readonly docType?: number;
9
+ readonly featureRef?: number;
10
+ /** Visible Digital Seal use case version. */
11
+ readonly version?: number;
12
+ /** Three letter code identifying the issuing state or organization. */
13
+ readonly issuingCountry?: string;
14
+ readonly docIssueDate?: string;
15
+ /** The binary data of the verified digital signature. */
16
+ readonly signature?: BytesData;
17
+ readonly signatureDate?: string;
18
+ readonly signer?: string;
19
+ readonly certificate?: string;
20
+ /** The certificate chain, used for the digital signature verification. */
21
+ readonly certificateChain: CertificateChain[];
22
+ /** The doc features. */
23
+ readonly docFeatures: DocFeature[];
24
+ /**
25
+ * The list of remarks occured during the scanning procedure.
26
+ * Each element belongs to the {@link LDSParsingErrorCodes} or the {@link LDSParsingNotificationCodes}.
27
+ */
28
+ readonly notifications: number[];
29
+
30
+ /** Allows you to deserialize object. */
31
+ static fromJson(jsonObject: any): VDSData | null;
32
+ }
@@ -28,7 +28,7 @@ export declare class VDSNCData {
28
28
  * The list of remarks occured during the scanning procedure.
29
29
  * Each element belongs to the {@link LDSParsingErrorCodes} or the {@link LDSParsingNotificationCodes}.
30
30
  */
31
- readonly notifications?: number[];
31
+ readonly notifications: number[];
32
32
 
33
33
  /** Allows you to deserialize object. */
34
34
  static fromJson(jsonObject: any): VDSNCData | null;
@@ -1307,6 +1307,12 @@ export declare enum FieldType {
1307
1307
  FIRST_ISSUE_DATE_CHECKDIGIT = 698,
1308
1308
  /** First issue date checksum. */
1309
1309
  FIRST_ISSUE_DATE_CHECKSUM = 699,
1310
+ /** Commercial indicator. */
1311
+ COMMERCIAL_INDICATOR = 701,
1312
+ /** Non-domiciled indicator. */
1313
+ NON_DOMICILED_INDICATOR = 702,
1314
+ /** Jurisdiction specific data. */
1315
+ JURISDICTION_SPECIFIC_DATA = 703,
1310
1316
  }
1311
1317
 
1312
1318
  export declare namespace FieldType {
@@ -26,7 +26,13 @@ export declare enum PKDResourceType {
26
26
  /** Deviance List (.dl, .dls, .dvl). */
27
27
  DEVL = 6,
28
28
  /** Black List (.bl, .bls). */
29
- BL = 7
29
+ BL = 7,
30
+ /** LDIF file contents for TA. */
31
+ LDIF_TA = 8,
32
+ /** Master List with CV certificates for TA. */
33
+ ML_TA = 9,
34
+ /** CBOR List. */
35
+ CBOR = 10,
30
36
  }
31
37
 
32
38
  export declare namespace PKDResourceType {