@microblink/blinkid-react-native 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/BlinkidReactNative.podspec +31 -0
  2. package/LICENSE +21 -0
  3. package/README.md +409 -0
  4. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  5. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  6. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  7. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  8. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  9. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  10. package/android/.gradle/8.9/gc.properties +0 -0
  11. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  12. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  13. package/android/.gradle/vcs-1/gc.properties +0 -0
  14. package/android/build.gradle +85 -0
  15. package/android/gradle.properties +5 -0
  16. package/android/src/main/AndroidManifest.xml +2 -0
  17. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdDeserializationUtilities.kt +354 -0
  18. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkIdSerializationUtilities.kt +661 -0
  19. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativeModule.kt +209 -0
  20. package/android/src/main/java/com/microblink/blinkid/reactnative/BlinkidReactNativePackage.kt +33 -0
  21. package/ios/BlinkIdDeserializationUtilities.swift +345 -0
  22. package/ios/BlinkIdSerializationUtilities.swift +675 -0
  23. package/ios/BlinkidReactNative.h +6 -0
  24. package/ios/BlinkidReactNative.mm +97 -0
  25. package/ios/BlinkidReactNativeModule.swift +138 -0
  26. package/ios/Frameworks/BlinkID.xcframework/Info.plist +44 -0
  27. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/BlinkID +0 -0
  28. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID-Swift.h +34696 -0
  29. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/BlinkID.h +19 -0
  30. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Headers/MBSampleBufferWrapper.h +28 -0
  31. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Info.plist +0 -0
  32. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.abi.json +59963 -0
  33. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.private.swiftinterface +1630 -0
  34. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  35. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios.swiftinterface +1630 -0
  36. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/module.modulemap +10 -0
  37. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/Modules/module.private.modulemap +12 -0
  38. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivacyInfo.xcprivacy +56 -0
  39. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +16 -0
  40. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/_CodeSignature/CodeResources +245 -0
  41. package/ios/Frameworks/BlinkID.xcframework/ios-arm64/BlinkID.framework/conan.xcconfig +36 -0
  42. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/BlinkID +0 -0
  43. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID-Swift.h +69407 -0
  44. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/BlinkID.h +19 -0
  45. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Headers/MBSampleBufferWrapper.h +28 -0
  46. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Info.plist +0 -0
  47. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.abi.json +59963 -0
  48. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1630 -0
  49. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  50. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1630 -0
  51. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.abi.json +59963 -0
  52. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1630 -0
  53. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  54. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/BlinkID.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1630 -0
  55. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/module.modulemap +10 -0
  56. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/Modules/module.private.modulemap +12 -0
  57. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivacyInfo.xcprivacy +56 -0
  58. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/PrivateHeaders/SwiftCxxBridge.hpp +16 -0
  59. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/_CodeSignature/CodeResources +300 -0
  60. package/ios/Frameworks/BlinkID.xcframework/ios-arm64_x86_64-simulator/BlinkID.framework/conan.xcconfig +36 -0
  61. package/ios/Frameworks/BlinkIDUX.xcframework/Info.plist +44 -0
  62. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeDirectory +0 -0
  63. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeRequirements +0 -0
  64. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  65. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeResources +1575 -0
  66. package/ios/Frameworks/BlinkIDUX.xcframework/_CodeSignature/CodeSignature +0 -0
  67. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX +0 -0
  68. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  69. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  70. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/PrivacyInfo.xcprivacy +56 -0
  71. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  72. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  73. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  74. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  75. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  76. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  77. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  78. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  79. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  80. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  81. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  82. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  83. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  84. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  85. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  86. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  87. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  88. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  89. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  90. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  91. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  92. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  93. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  94. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Info.plist +0 -0
  95. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.abi.json +15405 -0
  96. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.package.swiftinterface +563 -0
  97. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.private.swiftinterface +563 -0
  98. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  99. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios.swiftinterface +563 -0
  100. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX +0 -0
  101. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Assets.car +0 -0
  102. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/Info.plist +0 -0
  103. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/PrivacyInfo.xcprivacy +56 -0
  104. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeDirectory +0 -0
  105. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeRequirements +0 -0
  106. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeRequirements-1 +0 -0
  107. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeResources +634 -0
  108. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/_CodeSignature/CodeSignature +0 -0
  109. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ar.lproj/Localizable.strings +0 -0
  110. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/cs.lproj/Localizable.strings +0 -0
  111. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/de.lproj/Localizable.strings +0 -0
  112. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/en.lproj/Localizable.strings +0 -0
  113. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/es.lproj/Localizable.strings +0 -0
  114. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fil.lproj/Localizable.strings +0 -0
  115. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/fr.lproj/Localizable.strings +0 -0
  116. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/he.lproj/Localizable.strings +0 -0
  117. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hr.lproj/Localizable.strings +0 -0
  118. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/hu.lproj/Localizable.strings +0 -0
  119. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/id.lproj/Localizable.strings +0 -0
  120. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/it.lproj/Localizable.strings +0 -0
  121. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ms.lproj/Localizable.strings +0 -0
  122. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/nl.lproj/Localizable.strings +0 -0
  123. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/pt.lproj/Localizable.strings +0 -0
  124. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/ro.lproj/Localizable.strings +0 -0
  125. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sk.lproj/Localizable.strings +0 -0
  126. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sl.lproj/Localizable.strings +0 -0
  127. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/sr.lproj/Localizable.strings +0 -0
  128. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/th.lproj/Localizable.strings +0 -0
  129. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/vi.lproj/Localizable.strings +0 -0
  130. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hans.lproj/Localizable.strings +0 -0
  131. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/BlinkIDUX_BlinkIDUX.bundle/zh-Hant.lproj/Localizable.strings +0 -0
  132. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Info.plist +0 -0
  133. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.abi.json +15405 -0
  134. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.package.swiftinterface +563 -0
  135. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +563 -0
  136. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  137. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/arm64-apple-ios-simulator.swiftinterface +563 -0
  138. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.abi.json +15405 -0
  139. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.package.swiftinterface +563 -0
  140. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +563 -0
  141. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  142. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/Modules/BlinkIDUX.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +563 -0
  143. package/ios/Frameworks/BlinkIDUX.xcframework/ios-arm64_x86_64-simulator/BlinkIDUX.framework/_CodeSignature/CodeResources +101 -0
  144. package/lib/module/NativeBlinkidReactNative.js +15 -0
  145. package/lib/module/NativeBlinkidReactNative.js.map +1 -0
  146. package/lib/module/blinkIdResult.js +612 -0
  147. package/lib/module/blinkIdResult.js.map +1 -0
  148. package/lib/module/blinkIdSettings.js +465 -0
  149. package/lib/module/blinkIdSettings.js.map +1 -0
  150. package/lib/module/blinkIdUtilities.js +21 -0
  151. package/lib/module/blinkIdUtilities.js.map +1 -0
  152. package/lib/module/index.js +63 -0
  153. package/lib/module/index.js.map +1 -0
  154. package/lib/module/package.json +1 -0
  155. package/lib/module/types.js +3375 -0
  156. package/lib/module/types.js.map +1 -0
  157. package/lib/typescript/package.json +1 -0
  158. package/lib/typescript/src/NativeBlinkidReactNative.d.ts +43 -0
  159. package/lib/typescript/src/NativeBlinkidReactNative.d.ts.map +1 -0
  160. package/lib/typescript/src/blinkIdResult.d.ts +294 -0
  161. package/lib/typescript/src/blinkIdResult.d.ts.map +1 -0
  162. package/lib/typescript/src/blinkIdSettings.d.ts +416 -0
  163. package/lib/typescript/src/blinkIdSettings.d.ts.map +1 -0
  164. package/lib/typescript/src/blinkIdUtilities.d.ts +8 -0
  165. package/lib/typescript/src/blinkIdUtilities.d.ts.map +1 -0
  166. package/lib/typescript/src/index.d.ts +52 -0
  167. package/lib/typescript/src/index.d.ts.map +1 -0
  168. package/lib/typescript/src/types.d.ts +3025 -0
  169. package/lib/typescript/src/types.d.ts.map +1 -0
  170. package/package.json +110 -0
  171. package/src/NativeBlinkidReactNative.ts +45 -0
  172. package/src/blinkIdResult.ts +711 -0
  173. package/src/blinkIdSettings.ts +515 -0
  174. package/src/blinkIdUtilities.ts +20 -0
  175. package/src/index.tsx +72 -0
  176. package/src/types.ts +4334 -0
package/src/types.ts ADDED
@@ -0,0 +1,4334 @@
1
+ import { BlinkIdUtilities } from "./blinkIdUtilities";
2
+
3
+ /**
4
+ * ClassFilter represents the document filter used to determine which documents will be processed.
5
+ * Document information (Country, Region, Type) is evaluated with the content set in the filter, and their inclusion or exclusion depends on the defined rules.
6
+ * To set the document information, use {@link DocumentFilter}.
7
+ * The recognition results of the excluded documents will not be returned.
8
+ * If using the standard BlinkID UX, an alert will be displayed that the document will not be scanned.
9
+ *
10
+ * By default, the ClassFilter is turned off, and all documents will be included.
11
+ */
12
+ export class ClassFilter {
13
+ /**
14
+ * Document classes that will be explicitly accepted by this filter.
15
+ * Only documents belonging to the specified classes will be processed. All other documents will be rejected.
16
+ *
17
+ * If this list is empty, no restrictions are applied, and documents will be accepted unless explicitly excluded by `excludeDocuments`.
18
+ *
19
+ * Example usage:
20
+ *
21
+ * ```
22
+ * final classFilter = ClassFilter();
23
+ * classFilter.includeDocuments = [
24
+ * DocumentFilter.country(Country.Usa),
25
+ * DocumentFilter.countryType(Country.Croatia, DocumentType.Id),
26
+ * ];
27
+ *
28
+ *
29
+ * ```
30
+ *
31
+ *
32
+ * NOTE: from the example above, the class filter is set to only accept all documents from USA, and Croatian IDs.
33
+ * All other documents will be rejected.
34
+ *
35
+ * Rules can be combined, for example, to set all three properties (Country Region, Type), two (e.g., Country and Type) or just one (e.g, Region).
36
+ *
37
+ * See {@link DocumentFilter} for setting the combinations.
38
+ */
39
+ includeDocuments?: DocumentFilter[];
40
+ /**
41
+ * Document classes that will be explicitly rejected by this filter.
42
+ * Documents belonging to the specified classes will not be processed. Other documents, not included with `excludeDocuments` will be accepted.
43
+ *
44
+ * If this array is empty, no restrictions are applied, and documents will be excluded only if not present in `includeDocuments`.
45
+ *
46
+ * Example usage:
47
+ *
48
+ * ```
49
+ * final classFilter = ClassFilter();
50
+ * classFilter.excludeDocuments = [
51
+ * DocumentFilter.country(Country.Usa),
52
+ * DocumentFilter.countryType(Country.Croatia, DocumentType.Id),
53
+ * ];
54
+ *
55
+ *
56
+ * ```
57
+ *
58
+ * NOTE: from the example above, the class filter is set to only exclude all documents from USA, and Croatian IDs.
59
+ * All other classes will be accepted.
60
+ *
61
+ * Rules can be combined, for example, to set all three properties (Country Region, Type), two (e.g., Country and Type) or just one (e.g, Region).
62
+ *
63
+ * See {@link DocumentFilter} for setting the combinations.
64
+ */
65
+ excludeDocuments?: DocumentFilter[];
66
+
67
+ /**
68
+ *
69
+ * @param includeDocuments - specifies which document classes that will be explicitly accepted by this filter.
70
+ * @param excludeDocuments - specifies which document classes that will be explicitly rejected by this filter.
71
+ */
72
+ constructor(
73
+ includeDocuments?: DocumentFilter[],
74
+ excludeDocuments?: DocumentFilter[]
75
+ ) {
76
+ this.includeDocuments = includeDocuments;
77
+ this.excludeDocuments = excludeDocuments;
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Represents the document filter.
83
+ *
84
+ * Used with other classes like the {@link ClassFilter}, {@link DocumentRules} and the {@link DocumentAnonymizationSettings}.
85
+ */
86
+ export class DocumentFilter{
87
+ /**
88
+ * If set, only specified country will pass the filter criteria.
89
+ * Otherwise, issuing country will not betaken into account.
90
+ */
91
+ country?: Country;
92
+
93
+ /**
94
+ * If set, only specified country will pass the filter criteria.
95
+ * Otherwise, issuing region will not be taken into account.
96
+ */
97
+ region?: Region;
98
+
99
+ /**
100
+ * If set, only specified type will pass the filter criteria.
101
+ * Otherwise, issuing type will not be taken into account.
102
+ */
103
+ documentType?: DocumentType;
104
+
105
+ /**
106
+ *
107
+ * @param country - specifies the {@link Country} that will pass the filter criteria.
108
+ *
109
+ * @param region - specifies the {@link Region} that will pass the filter criteria.
110
+ *
111
+ * @param documentType - specifies the {@link DocumentType} that will pass the filter criteria.
112
+ *
113
+ *
114
+ * All parameters are optional, and do not need to be added.
115
+ * The filter can be set to be more generic (for example, to only accept document from USA):
116
+ * ```
117
+ * DocumentFilter(Country.Usa);
118
+ * ```
119
+ * or, it can be set to be more specific (for example, to specifically accept USA drivers licenses from California):
120
+ * ```
121
+ * DocumentFilter(Country.Usa, Region.California, DocumentType.Dl);
122
+ * ```
123
+ */
124
+ constructor(country?: Country, region?: Region, documentType?: DocumentType) {
125
+ this.country = country;
126
+ this.region = region;
127
+ this.documentType = documentType;
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Represents the custom document rules.
133
+ *
134
+ * This setting allows users to narrow down our internal rules on mandatory fields. All undefined fields will become optional.
135
+ * It is not possible to mark fields as mandatory if they cannot theoretically appear on the document.
136
+ * The more detailed document filter will have priority over the other.
137
+ *
138
+ * Document fields are validated using internal rules that define mandatory fields for the scanned document class.
139
+ */
140
+ export class DocumentRules {
141
+ /**
142
+ * Specified fields will overrule our document class field rules if filter conditions are met.
143
+ *
144
+ * See {@link DocumentFilter} for more information.
145
+ */
146
+ documentFilter?: DocumentFilter;
147
+
148
+ /**
149
+ * Fields to overrule our class field rules.
150
+ *
151
+ * See {@link DetailedFieldType} for more information.
152
+ */
153
+ fields: DetailedFieldType[];
154
+
155
+ /**
156
+ * Represents the custom document rules.
157
+ *
158
+ * This setting allows users to narrow down our internal rules on mandatory fields. All undefined fields will become optional.
159
+ * It is not possible to mark fields as mandatory if they cannot theoretically appear on the document.
160
+ * The more detailed document filter will have priority over the other.
161
+ *
162
+ * Document fields are validated using internal rules that define mandatory fields for the scanned document class.
163
+ * Defines custom rules for specific document class.
164
+ *
165
+ * When defining {@link DocumentRules}, the {@link DocumentFilter} paramter is optionally set to specify the document to which the rule applies, and a `fields` with
166
+ * the appropriate `alphabetType` should be specified as mandatory for that document.
167
+ * If a `fields` is set to a field that is optional for that document or does not exist on it, all fields on the document become optional.
168
+ * If a `fields` is set to a field with an incorrect alphabetType, all fields on the document become optional.
169
+ * If a `fields` is set to a field that doesn’t exist in the internal rules, that rule is ignored.
170
+ * When adding multiple `fields`, any field that does not match our rules is ignored. Only fields that comply with our rules are set as mandatory.
171
+ * If the documentFilter fields `country`, `region`, or `type` are set to `null`, all supported values for those fields will be considered.
172
+ * For example, if `country = null`, the rule will apply to all supported countries in BlinkID.
173
+ *
174
+ * @param fields - specifies the list of {@link DetailedFieldType} for overruling our class field rules.
175
+ * This parameter is mandatory.
176
+ * @param documentFilter - specifies the {@link DocumentFilter} to specify the document to which the rule applies.
177
+ * This parameter is optional.
178
+ */
179
+ constructor(fields: DetailedFieldType[], documentFilter?: DocumentFilter) {
180
+ this.fields = fields;
181
+ this.documentFilter = documentFilter;
182
+ }
183
+ }
184
+
185
+ /**
186
+ * Represents the detailed field type.
187
+ *
188
+ */
189
+ export class DetailedFieldType {
190
+ /**
191
+ * The field type.
192
+ *
193
+ * See {@link FieldType} for more information.
194
+ */
195
+ fieldType: FieldType;
196
+
197
+ /**
198
+ * The alphabet type.
199
+ *
200
+ * See {@link AlphabetType} for more information.
201
+ */
202
+ alphabetType: AlphabetType;
203
+
204
+ /**
205
+ *
206
+ * @param fieldType - specifies the {@link FieldType}.
207
+ * @param alphabetType - specifies the {@link AlphabetType}.
208
+ *
209
+ * Both parameters are mandatory.
210
+ */
211
+ constructor(fieldType: FieldType, alphabetType: AlphabetType) {
212
+ this.fieldType = fieldType;
213
+ this.alphabetType = alphabetType;
214
+ }
215
+ }
216
+
217
+ /**
218
+ * Represents the document anonymization settings.
219
+ *
220
+ */
221
+ export class DocumentAnonymizationSettings {
222
+ /**
223
+ * Document fields that will be anonymized.
224
+ *
225
+ */
226
+ fields: FieldType[];
227
+
228
+ /**
229
+ * Specified fields will be anonymized if filter conditions are met.
230
+ *
231
+ */
232
+ documentFilter?: DocumentFilter;
233
+
234
+ /**
235
+ * Document number anonymization settings.
236
+ *
237
+ */
238
+ documentNumberAnonymizationSettings?: DocumentNumberAnonymizationSettings;
239
+
240
+ /**
241
+ *
242
+ * @param fields - specifies the document fields that will be anonymized. This parameter is mandatory.
243
+ *
244
+ * @param documentFilter - specifies the document filter.
245
+ *
246
+ * If the conditions of the filter are met, fields of those documents will be anonymized.
247
+ * This parameter is mandatory.
248
+ * @param documentNumberAnonymizationSettings - specifies the document number anonymization settings.
249
+ *
250
+ * If this parameter is set, it will anonymize the document number, even if the document number is not set in the `fields` parameter.
251
+ * If the default constructor for {@link DocumentNumberAnonymizationSettings} is used, all of the digits within the document number will be anonymized.
252
+ *
253
+ * This parameter is optional.
254
+ */
255
+ constructor(
256
+ fields: FieldType[],
257
+ documentFilter?: DocumentFilter,
258
+ documentNumberAnonymizationSettings?: DocumentNumberAnonymizationSettings
259
+ ) {
260
+ this.fields = fields;
261
+ this.documentFilter = documentFilter;
262
+ this.documentNumberAnonymizationSettings =
263
+ documentNumberAnonymizationSettings;
264
+ }
265
+ }
266
+
267
+ /**
268
+ * Represents the document number anonymization settings.
269
+ *
270
+ * Both settings, `prefixDigitsVisible` and `suffixDigitsVisible`, can be modified and set.
271
+ *
272
+ * By default, `prefixDigitsVisible` and `suffixDigitsVisible` are set to 0.
273
+ * This results that no digits within the document number will be visible.
274
+ *
275
+ * If any parameter is `undefined`, the value of the parameter will be set to `0`.
276
+ */
277
+ export class DocumentNumberAnonymizationSettings {
278
+ /**
279
+ * Defines how many digits at the beginning of the document number remain visible after anonymization.
280
+ *
281
+ */
282
+ prefixDigitsVisible?: number;
283
+
284
+ /**
285
+ * Defines how many digits at the end of the document number remain visible after anonymization.
286
+ *
287
+ */
288
+ suffixDigitsVisible?: number;
289
+
290
+ constructor(
291
+ prefixDigitsVisible: number = 0,
292
+ suffixDigitsVisible: number = 0
293
+ ) {
294
+ this.prefixDigitsVisible = prefixDigitsVisible;
295
+ this.suffixDigitsVisible = suffixDigitsVisible;
296
+ }
297
+ }
298
+ /**
299
+ * Represents the configuration used to enable/disable recognition of specific
300
+ * document groups.
301
+ *
302
+ * By default all modes are enabled.
303
+ */
304
+ export class RecognitionModeFilter {
305
+ /**
306
+ * Enable scanning of MRZ IDs.
307
+ *
308
+ */
309
+ enableMrzId: boolean;
310
+
311
+ /**
312
+ * Enable scanning of visa MRZ.
313
+ *
314
+ */
315
+ enableMrzVisa: boolean;
316
+
317
+ /**
318
+ * Enable scanning of Passport MRZ.
319
+ *
320
+ */
321
+ enableMrzPassport: boolean;
322
+
323
+ /**
324
+ * Enable scanning of Photo ID.
325
+ *
326
+ */
327
+ enablePhotoId: boolean;
328
+
329
+ /**
330
+ * Enable scanning of barcode IDs.
331
+ *
332
+ */
333
+ enableBarcodeId: boolean;
334
+
335
+ /**
336
+ * Enable full document recognition.
337
+ *
338
+ */
339
+ enableFullDocumentRecognition: boolean;
340
+
341
+ constructor() {
342
+ this.enableMrzId = true;
343
+ this.enableMrzVisa = true;
344
+ this.enableMrzPassport = true;
345
+ this.enablePhotoId = true;
346
+ this.enableBarcodeId = true;
347
+ this.enableFullDocumentRecognition = true;
348
+ }
349
+ }
350
+
351
+ /**
352
+ * Represents the document class information.
353
+ *
354
+ */
355
+ export class DocumentClassInfo {
356
+ /**
357
+ * The document country.
358
+ *
359
+ * See {@link Country} for more information.
360
+ */
361
+ country?: Country;
362
+ /**
363
+ * The document region.
364
+ *
365
+ * See {@link Region} for more information.
366
+ */
367
+ region?: Region;
368
+
369
+ /**
370
+ * The type of the scanned document.
371
+ *
372
+ * See {@link DocumentType} for more information.
373
+ */
374
+ documentType?: DocumentType;
375
+
376
+ /**
377
+ * Flag that indicates if the document class information is empty
378
+ *
379
+ */
380
+ empty?: boolean;
381
+
382
+ /**
383
+ * The name of the country that issued the scanned document.
384
+ *
385
+ */
386
+ countryName?: string;
387
+
388
+ /**
389
+ * The ISO numeric code of the country that issued the scanned document.
390
+ *
391
+ */
392
+ isoNumericCountryCode?: string;
393
+
394
+ /**
395
+ * The 2 letter ISO code of the country that issued the scanned document.
396
+ *
397
+ */
398
+ isoAlpha2CountryCode?: string;
399
+
400
+ /**
401
+ * The 3 letter ISO code of the country that issued the scanned document.
402
+ *
403
+ */
404
+ isoAlpha3CountryCode?: string;
405
+
406
+ /**
407
+ *
408
+ * @param nativeDocumentClassInfo
409
+ *
410
+ */
411
+ constructor(nativeDocumentClassInfo: any) {
412
+ this.country =
413
+ nativeDocumentClassInfo.country;
414
+ this.region =
415
+ nativeDocumentClassInfo.region;
416
+ this.documentType =
417
+ nativeDocumentClassInfo.documentType;
418
+ this.empty = nativeDocumentClassInfo.empty;
419
+ this.countryName = nativeDocumentClassInfo.countryName;
420
+ this.isoNumericCountryCode = nativeDocumentClassInfo.isoNumericCountryCode;
421
+ this.isoAlpha2CountryCode = nativeDocumentClassInfo.isoAlpha2CountryCode;
422
+ this.isoAlpha3CountryCode = nativeDocumentClassInfo.isoAlpha3CountryCode;
423
+ }
424
+ }
425
+
426
+ /**
427
+ * Represents the result of the data match.
428
+ *
429
+ */
430
+ export class DataMatchResult {
431
+ /**
432
+ * The state of the data match on the whole document.
433
+ *
434
+ * See {@link DataMatchState} for more information.
435
+ */
436
+ overallState?: DataMatchState;
437
+
438
+ /**
439
+ * The data match state of each field.
440
+ *
441
+ * See {@link DataMatchResultField} for more information.
442
+ */
443
+ states?: DataMatchResultField[];
444
+
445
+ /**
446
+ *
447
+ * @param nativeDataMatchResult
448
+ */
449
+ constructor(nativeDataMatchResult: any) {
450
+ this.overallState =
451
+ nativeDataMatchResult.overallState != undefined
452
+ ? (nativeDataMatchResult.overallState as DataMatchState)
453
+ : undefined;
454
+ this.states = nativeDataMatchResult.states;
455
+ }
456
+ }
457
+
458
+ /**
459
+ * Represents the state of the field in the data match.
460
+ *
461
+ */
462
+ export class DataMatchResultField {
463
+ /**
464
+ * The type of the field.
465
+ *
466
+ * See {@link DataMatchField} for more information.
467
+ */
468
+ field?: DataMatchField;
469
+ /**
470
+ * The state of the field.
471
+ *
472
+ * See {@link DataMatchState} for more information.
473
+ */
474
+ state?: DataMatchState;
475
+
476
+ /**
477
+ *
478
+ * @param nativeDataMatchResultField
479
+ *
480
+ */
481
+ constructor(nativeDataMatchResultField: any) {
482
+ this.field =
483
+ nativeDataMatchResultField.field;
484
+ this.state =
485
+ nativeDataMatchResultField.state;
486
+ }
487
+ }
488
+
489
+ /**
490
+ * Represents the multi-alphabet string result extracted from the OCR.
491
+ *
492
+ * The result contains the extracted strings, their locations, and the sides of the extracted strings.
493
+ *
494
+ */
495
+ export class StringResult {
496
+ /**
497
+ * All strings separated by new line
498
+ *
499
+ */
500
+ value?: string;
501
+
502
+ /**
503
+ * String for field in latin alphabet
504
+ *
505
+ */
506
+ latin?: string;
507
+
508
+ /**
509
+ * String for field in arabic alphabet
510
+ *
511
+ */
512
+ arabic?: string;
513
+
514
+ /**
515
+ * String for field in cyrillic alphabet
516
+ *
517
+ */
518
+ cyrillic?: string;
519
+
520
+ /**
521
+ * String for field in greek alphabet
522
+ *
523
+ */
524
+ greek?: string;
525
+
526
+ /**
527
+ * Document field location.
528
+ *
529
+ * See {@link Location} for more information.
530
+ */
531
+ location?: Location;
532
+
533
+ /**
534
+ * The document side where the field is located.
535
+ *
536
+ * See {@link Side} for more information.
537
+ */
538
+ side?: Side;
539
+
540
+ /**
541
+ *
542
+ * @param nativeStringResult
543
+ *
544
+ */
545
+ constructor(nativeStringResult: any) {
546
+ this.value = nativeStringResult.value;
547
+ this.latin = nativeStringResult.latin;
548
+ this.cyrillic = nativeStringResult.cyrillic;
549
+ this.arabic = nativeStringResult.arabic;
550
+ this.greek = nativeStringResult.greek;
551
+ this.location =
552
+ nativeStringResult.location != undefined
553
+ ? new Location(nativeStringResult.location)
554
+ : undefined;
555
+ this.side =
556
+ nativeStringResult.side != undefined
557
+ ? new Side(nativeStringResult.side)
558
+ : undefined;
559
+ }
560
+ }
561
+
562
+ /**
563
+ * Represents the rectangle location of each document field
564
+ *
565
+ */
566
+ export class Rectangle {
567
+ /**
568
+ * X location
569
+ *
570
+ */
571
+ x?: number;
572
+
573
+ /**
574
+ * Y location
575
+ *
576
+ */
577
+ y?: number;
578
+
579
+ /**
580
+ * Rectangle width
581
+ *
582
+ */
583
+ width?: number;
584
+
585
+ /**
586
+ * Rectangle height.
587
+ *
588
+ */
589
+ height?: number;
590
+
591
+ /**
592
+ *
593
+ * @param nativeRectangle
594
+ *
595
+ */
596
+ constructor(nativeRectangle: any) {
597
+ this.x = nativeRectangle.x;
598
+ this.y = nativeRectangle.y;
599
+ this.width = nativeRectangle.width;
600
+ this.height = nativeRectangle.height;
601
+ }
602
+ }
603
+
604
+ /**
605
+ * Represents the information about the location of an element within a document or image.
606
+ *
607
+ */
608
+ export class Location {
609
+ /**
610
+ * Rectangle location of the result extracted from the OCR in the latin alphabet.
611
+ *
612
+ */
613
+ latin?: Rectangle;
614
+
615
+ /**
616
+ * Rectangle location of the result extracted from the OCR in the arabic alphabet.
617
+ *
618
+ */
619
+ arabic?: Rectangle;
620
+
621
+ /**
622
+ * Rectangle location of the result extracted from the OCR in the cyrillic alphabet.
623
+ *
624
+ */
625
+ cyrillic?: Rectangle;
626
+
627
+ /**
628
+ * Rectangle location of the result extracted from the OCR in the greek alphabet.
629
+ *
630
+ */
631
+ greek?: Rectangle;
632
+
633
+ /**
634
+ *
635
+ * @param nativeLocation
636
+ *
637
+ */
638
+ constructor(nativeLocation: any) {
639
+ this.latin =
640
+ nativeLocation.latin != undefined
641
+ ? new Rectangle(nativeLocation.latin)
642
+ : undefined;
643
+ this.arabic =
644
+ nativeLocation.arabic != undefined
645
+ ? new Rectangle(nativeLocation.arabic)
646
+ : undefined;
647
+ this.cyrillic =
648
+ nativeLocation.cyrillic != undefined
649
+ ? new Rectangle(nativeLocation.cyrillic)
650
+ : undefined;
651
+ this.greek =
652
+ nativeLocation.greek != undefined
653
+ ? new Rectangle(nativeLocation.greek)
654
+ : undefined;
655
+ }
656
+ }
657
+
658
+ /**
659
+ * Side of the document on which the specific result is located.
660
+ *
661
+ */
662
+ export class Side {
663
+ /**
664
+ * Document side of the result extracted from the OCR in the latin alphabet.
665
+ *
666
+ */
667
+ latin?: DocumentSide;
668
+
669
+ /**
670
+ * Document side of the result extracted from the OCR in the arabic alphabet.
671
+ *
672
+ */
673
+ arabic?: DocumentSide;
674
+
675
+ /**
676
+ * Document side of the result extracted from the OCR in the cyrillic alphabet.
677
+ *
678
+ */
679
+ cyrillic?: DocumentSide;
680
+
681
+ /**
682
+ * Document side of the result extracted from the OCR in the cyrillic alphabet.
683
+ *
684
+ */
685
+ greek?: DocumentSide;
686
+
687
+ /**
688
+ *
689
+ * @param nativeSide
690
+ *
691
+ */
692
+ constructor(nativeSide: any) {
693
+ this.latin =
694
+ nativeSide.latin;
695
+ this.arabic =
696
+ nativeSide.arabic;
697
+ this.cyrillic =
698
+ nativeSide.cyrillic;
699
+ this.greek =
700
+ nativeSide.greek;
701
+ }
702
+ }
703
+
704
+ /**
705
+ * Represents the result of the date extraction.
706
+ *
707
+ * Contains the extracted date, along with additional date information.
708
+ */
709
+ export class DateResult<T> {
710
+ /**
711
+ * The extracted date information.
712
+ *
713
+ * See {@link Date} for more information.
714
+ */
715
+ date?: Date;
716
+
717
+ /**
718
+ * Original string representation of the date which has been extracted.
719
+ *
720
+ * Depending of the information source, it can either be of type {@link StringResult} or `string`.
721
+ */
722
+ originalString?: T;
723
+
724
+ /**
725
+ * Indicates that date does not appear on the document
726
+ * but is filled by our internal domain knowledge.
727
+ */
728
+ isFilledByDomainKnowledge?: boolean;
729
+
730
+ /**
731
+ * Indicates whether date was successfully parsed.
732
+ *
733
+ */
734
+ successfullyParsed?: boolean;
735
+
736
+ constructor(nativeDateResult: any) {
737
+ this.date =
738
+ nativeDateResult.date;
739
+ this.originalString = BlinkIdUtilities.handleStringType<T>(nativeDateResult.originalString);
740
+ this.isFilledByDomainKnowledge = nativeDateResult.isFilledByDomainKnowledge;
741
+ this.successfullyParsed = nativeDateResult.successfullyParsed;
742
+ }
743
+ }
744
+
745
+ /**
746
+ * Represents the extracted date.
747
+ *
748
+ */
749
+ export class Date {
750
+ /**
751
+ * Day of the month.
752
+ *
753
+ * The first day of the month has value 1.
754
+ */
755
+ day?: number;
756
+ /**
757
+ * Month of the year.
758
+ *
759
+ * The first month of the year has value 1.
760
+ */
761
+ month?: number;
762
+
763
+ /**
764
+ * Full year.
765
+ *
766
+ */
767
+ year?: number;
768
+
769
+ /**
770
+ *
771
+ * @param nativeDate
772
+ */
773
+ constructor(nativeDate: any) {
774
+ this.day = nativeDate.day;
775
+ this.month = nativeDate.month;
776
+ this.year = nativeDate.year;
777
+ }
778
+ }
779
+
780
+ /**
781
+ * Represents detailed extracted information about the driver license.
782
+ *
783
+ */
784
+ export class DriverLicenseDetailedInfo<T> {
785
+ /**
786
+ * The restrictions to driving privileges for the United States driver license owner.
787
+ *
788
+ * Depending of the information source, it can either be of type {@link StringResult} or `String`.
789
+ */
790
+ restrictions?: T;
791
+ /**
792
+ * The additional privileges granted to the US driver license owner.
793
+ *
794
+ * Depending of the information source, it can either be of type {@link StringResult} or `String`.
795
+ */
796
+ endorsements?: T;
797
+ /**
798
+ * The type of vehicle the driver license owner has privilege to drive.
799
+ *
800
+ * Depending of the information source, it can either be of type {@link StringResult} or `String`.
801
+ */
802
+ vehicleClass?: T;
803
+
804
+ /**
805
+ * The driver license conditions.
806
+ *
807
+ * Depending of the information source, it can either be of type {@link StringResult} or `String`.
808
+ */
809
+ conditions?: T;
810
+
811
+ /**
812
+ * The additional information on vehicle class.
813
+ *
814
+ * See {@link VehicleClassInfo} for more information.
815
+ */
816
+ vehicleClassesInfo?: VehicleClassInfo<T>;
817
+
818
+ constructor(nativeDriverLicenseDetailedInfo: any) {
819
+ this.restrictions = BlinkIdUtilities.handleStringType(
820
+ nativeDriverLicenseDetailedInfo.restrictions
821
+ );
822
+ this.endorsements = BlinkIdUtilities.handleStringType(
823
+ nativeDriverLicenseDetailedInfo.endorsements
824
+ );
825
+ this.vehicleClass = BlinkIdUtilities.handleStringType(
826
+ nativeDriverLicenseDetailedInfo.vehicleClass
827
+ );
828
+ this.vehicleClassesInfo =
829
+ nativeDriverLicenseDetailedInfo.vehicleClassesInfo != undefined
830
+ ? new VehicleClassInfo<T>(
831
+ nativeDriverLicenseDetailedInfo.vehicleClassesInfo
832
+ )
833
+ : undefined;
834
+ }
835
+ }
836
+
837
+ /**
838
+ * Represents the information about the vehicle class extraction.
839
+ *
840
+ */
841
+ export class VehicleClassInfo<T> {
842
+ /**
843
+ * The type of driver licence.
844
+ *
845
+ * Depending of the information source, it can either be of type {@link StringResult} or `string`.
846
+ */
847
+ licenceType?: T;
848
+ /**
849
+ * The type of vehicle the driver license owner has privilege to drive.
850
+ *
851
+ * Depending of the information source, it can either be of type {@link StringResult} or `String`.
852
+ */
853
+ vehicleClass?: T;
854
+ /**
855
+ * The date since licence is effective.
856
+ *
857
+ * See {@link DateResult} for more information.
858
+ */
859
+ effectiveDate?: DateResult<T>;
860
+
861
+ /**
862
+ * The date of expiry of licence.
863
+ *
864
+ * See {@link DateResult} for more information.
865
+ */
866
+ expiryDate?: DateResult<T>;
867
+
868
+ constructor(nativeVehicleClassInfo: any) {
869
+ this.licenceType = BlinkIdUtilities.handleStringType<T>(nativeVehicleClassInfo.licenceType);
870
+ this.vehicleClass = BlinkIdUtilities.handleStringType<T>(
871
+ nativeVehicleClassInfo.vehicleClass
872
+ );
873
+ this.effectiveDate =
874
+ nativeVehicleClassInfo.effectiveDate;
875
+ this.expiryDate =
876
+ nativeVehicleClassInfo.expiryDate;
877
+ }
878
+ }
879
+
880
+ /**
881
+ * Information about the dependent.
882
+ *
883
+ */
884
+ export class DependentInfo {
885
+ /**
886
+ * The date of birth of the dependent.
887
+ *
888
+ */
889
+ dateOfBirth?: DateResult<StringResult>;
890
+
891
+ /**
892
+ * The sex or gender of the dependent.
893
+ *
894
+ */
895
+ sex?: StringResult;
896
+
897
+ /**
898
+ * The document number of the dependent.
899
+ *
900
+ */
901
+ documentNumber?: StringResult;
902
+
903
+ /**
904
+ * The full name of the dependent.
905
+ *
906
+ */
907
+ fullName?: StringResult;
908
+
909
+ /**
910
+ * Checks if the dependent's information is empty.
911
+ *
912
+ */
913
+ empty?: boolean;
914
+
915
+ constructor(nativeDependentInfo: any) {
916
+ this.dateOfBirth =
917
+ nativeDependentInfo.dateOfBirth;
918
+ this.sex =
919
+ nativeDependentInfo.sex;
920
+ this.documentNumber =
921
+ nativeDependentInfo.documentNumber;
922
+ this.fullName =
923
+ nativeDependentInfo.fullName;
924
+ this.empty = nativeDependentInfo.empty;
925
+ }
926
+ }
927
+
928
+ /**
929
+ * Represents the result of the image crop transformation with additional details.
930
+ *
931
+ */
932
+ export class DetailedCroppedImageResult {
933
+ /**
934
+ * The cropped image in the Base64 format
935
+ *
936
+ */
937
+ image?: string;
938
+
939
+ /**
940
+ * The document side that was cropped.
941
+ *
942
+ */
943
+ side?: ScanningSide;
944
+
945
+ /**
946
+ * The location of the cropped image in the transformed image of the document.
947
+ *
948
+ */
949
+ location?: Rectangle;
950
+
951
+ /**
952
+ *
953
+ * @param nativeDetailedCroppedImageResult
954
+ *
955
+ */
956
+ constructor(nativeDetailedCroppedImageResult: any) {
957
+ this.image = nativeDetailedCroppedImageResult.image;
958
+ this.side =
959
+ nativeDetailedCroppedImageResult.side != undefined
960
+ ? (nativeDetailedCroppedImageResult.side as ScanningSide)
961
+ : undefined;
962
+ this.location =
963
+ nativeDetailedCroppedImageResult.location != undefined
964
+ ? new Rectangle(nativeDetailedCroppedImageResult.location)
965
+ : undefined;
966
+ }
967
+ }
968
+
969
+ /**
970
+ * Represents the result of scanning a single side of the document.
971
+ *
972
+ * Contains the data extracted from the Visual Inspection Zone, Machine Readable Zone,
973
+ * barcode, the input image, and the cropped document, face, and signature images.
974
+ */
975
+ export class SingleSideScanningResult {
976
+ /**
977
+ * The data extracted from the Visual Inspection Zone.
978
+ *
979
+ */
980
+ viz?: VizResult;
981
+
982
+ /**
983
+ * The data extracted from the Machine Readable Zone.
984
+ *
985
+ */
986
+ mrz?: MrzResult;
987
+
988
+ /**
989
+ * The data extracted from the barcode.
990
+ *
991
+ */
992
+ barcode?: BarcodeResult;
993
+
994
+ /**
995
+ * The input image in the Base64 format.
996
+ *
997
+ */
998
+ inputImage?: string;
999
+
1000
+ /**
1001
+ * The input image containing parsable barcode in the Base64 format.
1002
+ *
1003
+ */
1004
+ barcodeInputImage?: string;
1005
+
1006
+ /**
1007
+ * The cropped document image in the Base64 format.
1008
+ *
1009
+ */
1010
+ documentImage?: string;
1011
+
1012
+ /**
1013
+ * The cropped face image with additional info.
1014
+ *
1015
+ */
1016
+ faceImage?: DetailedCroppedImageResult;
1017
+
1018
+ /**
1019
+ * The cropped signature image with additional info.
1020
+ *
1021
+ */
1022
+ signatureImage?: DetailedCroppedImageResult;
1023
+
1024
+ /**
1025
+ *
1026
+ * @param nativeSingleSideScanningResult - specifies the single side scanning result obtained from the native SDK.
1027
+ *
1028
+ */
1029
+ constructor(nativeSingleSideScanningResult: any) {
1030
+ this.viz =
1031
+ nativeSingleSideScanningResult.viz;
1032
+ this.mrz =
1033
+ nativeSingleSideScanningResult.mrz;;
1034
+ this.barcode =
1035
+ nativeSingleSideScanningResult.barcode;
1036
+ this.inputImage = nativeSingleSideScanningResult.inputImage;
1037
+ this.barcodeInputImage = nativeSingleSideScanningResult.barcodeInputImage;
1038
+ this.documentImage = nativeSingleSideScanningResult.documentImage;
1039
+ this.faceImage =
1040
+ nativeSingleSideScanningResult.faceImage;
1041
+ this.signatureImage =
1042
+ nativeSingleSideScanningResult.signatureImage;
1043
+ }
1044
+ }
1045
+
1046
+ /**
1047
+ * Represents the result of the Visual Inspection Zone of a document.
1048
+ *
1049
+ */
1050
+ export class VizResult {
1051
+ /**
1052
+ * The first name of the document owner.
1053
+ *
1054
+ */
1055
+ firstName?: StringResult;
1056
+
1057
+ /**
1058
+ * The last name of the document owner.
1059
+ *
1060
+ */
1061
+ lastName?: StringResult;
1062
+
1063
+ /**
1064
+ * The full name of the document owner.
1065
+ *
1066
+ */
1067
+ fullName?: StringResult;
1068
+
1069
+ /**
1070
+ * The additional name information of the document owner.
1071
+ *
1072
+ */
1073
+ additionalNameInformation?: StringResult;
1074
+
1075
+ /**
1076
+ * The localized name of the document owner.
1077
+ *
1078
+ */
1079
+ localizedName?: StringResult;
1080
+
1081
+ /**
1082
+ * The fathers name of the document owner.
1083
+ *
1084
+ */
1085
+ fathersName?: StringResult;
1086
+
1087
+ /**
1088
+ * The mothers name of the document owner.
1089
+ *
1090
+ */
1091
+ mothersName?: StringResult;
1092
+
1093
+ /**
1094
+ * The address of the document owner.
1095
+ *
1096
+ */
1097
+ address?: StringResult;
1098
+
1099
+ /**
1100
+ * The additional address information of the document owner.
1101
+ *
1102
+ */
1103
+ additionalAddressInformation?: StringResult;
1104
+
1105
+ /**
1106
+ * The one more additional address information of the document owner.
1107
+ *
1108
+ */
1109
+ additionalOptionalAddressInformation?: StringResult;
1110
+
1111
+ /**
1112
+ * The place of birth of the document owner.
1113
+ *
1114
+ */
1115
+ placeOfBirth?: StringResult;
1116
+
1117
+ /**
1118
+ * The nationality of the document owner.
1119
+ *
1120
+ */
1121
+ nationality?: StringResult;
1122
+
1123
+ /**
1124
+ * The race of the document owner.
1125
+ *
1126
+ */
1127
+ race?: StringResult;
1128
+
1129
+ /**
1130
+ * The religion of the document owner.
1131
+ *
1132
+ */
1133
+ religion?: StringResult;
1134
+
1135
+ /**
1136
+ * The profession of the document owner.
1137
+ *
1138
+ */
1139
+ profession?: StringResult;
1140
+
1141
+ /**
1142
+ * The marital status of the document owner.
1143
+ *
1144
+ */
1145
+ maritalStatus?: StringResult;
1146
+
1147
+ /**
1148
+ * The residential status of the document owner.
1149
+ *
1150
+ */
1151
+ residentialStatus?: StringResult;
1152
+
1153
+ /**
1154
+ * The employer of the document owner.
1155
+ *
1156
+ */
1157
+ employer?: StringResult;
1158
+
1159
+ /**
1160
+ * The sex of the document owner.
1161
+ *
1162
+ */
1163
+ sex?: StringResult;
1164
+
1165
+ /**
1166
+ * The sponsor of the document owner.
1167
+ *
1168
+ */
1169
+ sponsor?: StringResult;
1170
+
1171
+ /**
1172
+ * The blood type of the document owner.
1173
+ *
1174
+ */
1175
+ bloodType?: StringResult;
1176
+
1177
+ /**
1178
+ * The date of birth of the document owner.
1179
+ *
1180
+ */
1181
+ dateOfBirth?: DateResult<StringResult>;
1182
+
1183
+ /**
1184
+ * The date of issue of the document.
1185
+ *
1186
+ */
1187
+ dateOfIssue?: DateResult<StringResult>;
1188
+
1189
+ /**
1190
+ * The date of expiry of the document.
1191
+ *
1192
+ */
1193
+ dateOfExpiry?: DateResult<StringResult>;
1194
+
1195
+ /**
1196
+ * Determines if date of expiry is permanent.
1197
+ *
1198
+ */
1199
+ dateOfExpiryPermanent?: boolean;
1200
+
1201
+ /**
1202
+ * The document number.
1203
+ *
1204
+ */
1205
+ documentNumber?: StringResult;
1206
+
1207
+ /**
1208
+ * The personal identification number.
1209
+ *
1210
+ */
1211
+ personalIdNumber?: StringResult;
1212
+
1213
+ /**
1214
+ * The additional number of the document.
1215
+ *
1216
+ */
1217
+ documentAdditionalNumber?: StringResult;
1218
+
1219
+ /**
1220
+ * The one more additional number of the document.
1221
+ *
1222
+ */
1223
+ documentOptionalAdditionalNumber?: StringResult;
1224
+
1225
+ /**
1226
+ * The additional personal identification number.
1227
+ *
1228
+ */
1229
+ additionalPersonalIdNumber?: StringResult;
1230
+
1231
+ /**
1232
+ * The issuing authority of the document.
1233
+ *
1234
+ */
1235
+ issuingAuthority?: StringResult;
1236
+
1237
+ /**
1238
+ * The visa type of the document.
1239
+ *
1240
+ */
1241
+ visaType?: StringResult;
1242
+
1243
+ /**
1244
+ * The driver license detailed info.
1245
+ *
1246
+ */
1247
+ driverLicenseDetailedInfo?: DriverLicenseDetailedInfo<StringResult>;
1248
+
1249
+ /**
1250
+ * The transcription of the document subtype.
1251
+ *
1252
+ */
1253
+ documentSubtype?: StringResult;
1254
+
1255
+ /**
1256
+ * The remarks on the residence permit.
1257
+ *
1258
+ */
1259
+ remarks?: StringResult;
1260
+
1261
+ /**
1262
+ * The residence permit type.
1263
+ */
1264
+ residencePermitType?: StringResult;
1265
+
1266
+ /**
1267
+ * The manufacturing year.
1268
+ *
1269
+ */
1270
+ manufacturingYear?: StringResult;
1271
+
1272
+ /**
1273
+ * The vehicle type.
1274
+ *
1275
+ */
1276
+ vehicleType?: StringResult;
1277
+
1278
+ /**
1279
+ * The eligibility category.
1280
+ *
1281
+ */
1282
+ eligibilityCategory?: StringResult;
1283
+
1284
+ /**
1285
+ * The specific document validity.
1286
+ *
1287
+ */
1288
+ specificDocumentValidity?: StringResult;
1289
+
1290
+ /**
1291
+ * The dependents info.
1292
+ *
1293
+ */
1294
+ dependentsInfo?: DependentInfo[];
1295
+
1296
+ /**
1297
+ * The vehicle owner.
1298
+ *
1299
+ */
1300
+ vehicleOwner?: StringResult;
1301
+
1302
+ /**
1303
+ *
1304
+ * @param nativeVizResult
1305
+ *
1306
+ */
1307
+ constructor(nativeVizResult: any) {
1308
+ this.firstName =
1309
+ nativeVizResult.firstName;
1310
+ this.lastName =
1311
+ nativeVizResult.lastName;
1312
+ this.fullName =
1313
+ nativeVizResult.fullName;;
1314
+ this.additionalNameInformation =
1315
+ nativeVizResult.additionalNameInformation;
1316
+ this.localizedName =
1317
+ nativeVizResult.localizedName;
1318
+ this.fathersName =
1319
+ nativeVizResult.fathersName;
1320
+ this.mothersName =
1321
+ nativeVizResult.mothersName;
1322
+ this.address =
1323
+ nativeVizResult.address;
1324
+ this.additionalAddressInformation =
1325
+ nativeVizResult.additionalAddressInformation;
1326
+ this.additionalOptionalAddressInformation =
1327
+ nativeVizResult.additionalOptionalAddressInformation;
1328
+ this.placeOfBirth =
1329
+ nativeVizResult.placeOfBirth;
1330
+ this.nationality =
1331
+ nativeVizResult.nationality;
1332
+ this.race =
1333
+ nativeVizResult.race;
1334
+ this.religion =
1335
+ nativeVizResult.religion;
1336
+ this.profession =
1337
+ nativeVizResult.profession;
1338
+ this.maritalStatus =
1339
+ nativeVizResult.maritalStatus;
1340
+ this.residentialStatus =
1341
+ nativeVizResult.residentialStatus;
1342
+ this.employer =
1343
+ nativeVizResult.employer;
1344
+ this.sex =
1345
+ nativeVizResult.sex;
1346
+ this.sponsor =
1347
+ nativeVizResult.sponsor;
1348
+ this.bloodType =
1349
+ nativeVizResult.bloodType;
1350
+ this.dateOfBirth =
1351
+ nativeVizResult.dateOfBirth;
1352
+ this.dateOfIssue =
1353
+ nativeVizResult.dateOfIssue;
1354
+ this.dateOfExpiry =
1355
+ nativeVizResult.dateOfExpiry;
1356
+ this.dateOfExpiryPermanent = nativeVizResult.dateOfExpiryPermanent;
1357
+ this.documentNumber =
1358
+ nativeVizResult.documentNumber;
1359
+ this.personalIdNumber =
1360
+ nativeVizResult.personalIdNumber;
1361
+ this.documentAdditionalNumber =
1362
+ nativeVizResult.documentAdditionalNumber;
1363
+ this.documentOptionalAdditionalNumber =
1364
+ nativeVizResult.documentOptionalAdditionalNumber;
1365
+ this.additionalPersonalIdNumber =
1366
+ nativeVizResult.additionalPersonalIdNumber;
1367
+ this.issuingAuthority =
1368
+ nativeVizResult.issuingAuthority;
1369
+ this.visaType =
1370
+ nativeVizResult.visaType;
1371
+ this.driverLicenseDetailedInfo =
1372
+ nativeVizResult.driverLicenseDetailedInfo;
1373
+ this.documentSubtype =
1374
+ nativeVizResult.documentSubtype;
1375
+ this.remarks =
1376
+ nativeVizResult.remarks;
1377
+ this.residencePermitType =
1378
+ nativeVizResult.residencePermitType;
1379
+ this.manufacturingYear =
1380
+ nativeVizResult.manufacturingYear;
1381
+ this.vehicleType =
1382
+ nativeVizResult.vehicleType;
1383
+ this.eligibilityCategory =
1384
+ nativeVizResult.eligibilityCategory;
1385
+ this.specificDocumentValidity =
1386
+ nativeVizResult.specificDocumentValidity;
1387
+ this.dependentsInfo = nativeVizResult.dependentsInfo;
1388
+ this.vehicleOwner =
1389
+ nativeVizResult.vehicleOwner;
1390
+ }
1391
+ }
1392
+
1393
+ /**
1394
+ * Represents the result of the MRZ recognition.
1395
+ *
1396
+ */
1397
+ export class MrzResult {
1398
+ /**
1399
+ * The entire Machine Readable Zone text from ID.
1400
+ *
1401
+ */
1402
+ rawMRZString?: string;
1403
+ /**
1404
+ * The document code. Document code contains two characters.
1405
+ * For MRTD the first character shall be A, C or I.
1406
+ *
1407
+ * The second character shall be discretion of the issuing State or organization except
1408
+ * that V shall not be used, and `C` shall not be used after `A` except in the crew member certificate.
1409
+ *
1410
+ * On machine-readable passports (MRP) first character shall be `P` to designate an MRP. One additional
1411
+ * letter may be used, at the discretion of the issuing State or organization, to designate a particular
1412
+ * MRP.
1413
+ *
1414
+ * If the second character position is not used for this purpose, it shall be filled by the filter character.
1415
+ */
1416
+ documentCode?: string;
1417
+
1418
+ /**
1419
+ * Three-letter or two-letter code which indicate the issuing State. Three-letter codes are based
1420
+ * on Aplha-3 codes for entities specified in ISO 3166-1, with extensions for certain States.
1421
+ *
1422
+ * Two-letter codes are based on Aplha-2 codes for entities specified in ISO 3166-1, with extensions for certain States.
1423
+ */
1424
+ issuer?: string;
1425
+
1426
+ /**
1427
+ * The document number.
1428
+ *
1429
+ */
1430
+ documentNumber?: string;
1431
+
1432
+ /**
1433
+ * The first optional data. Empty string if not available.
1434
+ *
1435
+ */
1436
+ opt1?: string;
1437
+
1438
+ /**
1439
+ * The second optional data. Empty string if not available.
1440
+ *
1441
+ */
1442
+ opt2?: string;
1443
+ /**
1444
+ * The gender of the document holder.
1445
+ *
1446
+ * Gender is specified by use of the single initial.
1447
+ */
1448
+ gender?: string;
1449
+ /**
1450
+ * The nationality of the document holder represented by a three-letter or two-letter code.
1451
+ *
1452
+ * Three-letter codes are based on Alpha-3 codes for entities specified in ISO 3166-1, with extensions for certain States.
1453
+ *
1454
+ * Two-letter codes are based on Aplha-2 codes for entities specified in ISO 3166-1, with extensions for certain States.
1455
+ */
1456
+ nationality?: string;
1457
+
1458
+ /**
1459
+ * The primary indentifier.
1460
+ *
1461
+ * If there is more than one component, they are separated with space.
1462
+ */
1463
+ primaryID?: string;
1464
+
1465
+ /**
1466
+ * The secondary identifier.
1467
+ *
1468
+ * If there is more than one component, they are separated with space.
1469
+ */
1470
+ secondaryID?: string;
1471
+
1472
+ /**
1473
+ * The full issuer name that is expanded from the three-letter or two-letter code which indicate
1474
+ * the issuing State.
1475
+ *
1476
+ */
1477
+ issuerName?: string;
1478
+ /**
1479
+ * The full nationality of the document holder, which is expanded from the three-letter or two-letter
1480
+ * nationality code.
1481
+ */
1482
+ nationalityName?: string;
1483
+
1484
+ /**
1485
+ * Whether the MRZ is verified.
1486
+ *
1487
+ * If the MRZ is verified, it means that all check digits are correct.
1488
+ */
1489
+ verified?: boolean;
1490
+
1491
+ /**
1492
+ * The date of birth of the document holder.
1493
+ *
1494
+ */
1495
+ dateOfBirth?: DateResult<string>;
1496
+
1497
+ /**
1498
+ * The date of expiry of the document.
1499
+ *
1500
+ */
1501
+ dateOfExpiry?: DateResult<string>;
1502
+
1503
+ /**
1504
+ * The type of the document.
1505
+ *
1506
+ */
1507
+ documentType?: MRZDocumentType;
1508
+
1509
+ /**
1510
+ * The sanitized first optional data.
1511
+ *
1512
+ * Result without additional '<' characters if they exist.
1513
+ */
1514
+ sanitizedOpt1?: string;
1515
+
1516
+ /**
1517
+ * The sanitized second optional data.
1518
+ *
1519
+ * Result without additional '<' characters if they exist.
1520
+ */
1521
+ sanitizedOpt2?: string;
1522
+
1523
+ /**
1524
+ * The sanitized nationality.
1525
+ *
1526
+ * Result without additional '<' characters if they exist.
1527
+ */
1528
+ sanitizedNationality?: string;
1529
+
1530
+ /**
1531
+ * The sanitized issuer.
1532
+ *
1533
+ * Result without additional '<' characters if they exist.
1534
+ */
1535
+ sanitizedIssuer?: string;
1536
+
1537
+ /**
1538
+ * The sanitized document code.
1539
+ *
1540
+ * Result without additional '<' characters if they exist.
1541
+ */
1542
+ sanitizedDocumentCode?: string;
1543
+
1544
+ /**
1545
+ * The sanitized document number.
1546
+ *
1547
+ * Result without additional '<' characters if they exist.
1548
+ */
1549
+ sanitizedDocumentNumber?: string;
1550
+
1551
+ /**
1552
+ *
1553
+ * @param nativeMrzResult
1554
+ *
1555
+ */
1556
+ constructor(nativeMrzResult: any) {
1557
+ this.rawMRZString = nativeMrzResult.rawMRZString;
1558
+ this.documentCode = nativeMrzResult.documentCode;
1559
+ this.issuer = nativeMrzResult.issuer;
1560
+ this.documentNumber = nativeMrzResult.documentNumber;
1561
+ this.opt1 = nativeMrzResult.opt1;
1562
+ this.opt2 = nativeMrzResult.opt2;
1563
+ this.gender = nativeMrzResult.gender;
1564
+ this.nationality = nativeMrzResult.nationality;
1565
+ this.primaryID = nativeMrzResult.primaryID;
1566
+ this.secondaryID = nativeMrzResult.secondaryID;
1567
+ this.issuerName = nativeMrzResult.issuerName;
1568
+ this.nationalityName = nativeMrzResult.nationalityName;
1569
+ this.verified = nativeMrzResult.verified;
1570
+ this.dateOfBirth =
1571
+ nativeMrzResult.dateOfBirth;
1572
+ this.dateOfExpiry =
1573
+ nativeMrzResult.dateOfExpiry;
1574
+ this.documentType =
1575
+ nativeMrzResult.documentType;
1576
+ this.sanitizedOpt1 = nativeMrzResult.sanitizedOpt1;
1577
+ this.sanitizedOpt2 = nativeMrzResult.sanitizedOpt2;
1578
+ this.sanitizedNationality = nativeMrzResult.sanitizedNationality;
1579
+ this.sanitizedIssuer = nativeMrzResult.sanitizedIssuer;
1580
+ this.sanitizedDocumentCode = nativeMrzResult.sanitizedDocumentCode;
1581
+ this.sanitizedDocumentNumber = nativeMrzResult.sanitizedDocumentNumber;
1582
+ }
1583
+ }
1584
+
1585
+ /**
1586
+ * Represents the data extracted from the barcode.
1587
+ *
1588
+ */
1589
+ export class BarcodeResult {
1590
+ /**
1591
+ * The raw, unparsed barcode data.
1592
+ *
1593
+ */
1594
+ barcodeData?: BarcodeData;
1595
+
1596
+ /**
1597
+ * The first name of the document owner.
1598
+ *
1599
+ */
1600
+ firstName?: string;
1601
+
1602
+ /**
1603
+ * The middle name of the document owner.
1604
+ *
1605
+ */
1606
+ middleName?: string;
1607
+
1608
+ /**
1609
+ * The last name of the document owner.
1610
+ *
1611
+ */
1612
+ lastName?: string;
1613
+
1614
+ /**
1615
+ * The full name of the document owner.
1616
+ *
1617
+ */
1618
+ fullName?: string;
1619
+
1620
+ /**
1621
+ * The additional name information of the document owner.
1622
+ *
1623
+ */
1624
+ additionalNameInformation?: string;
1625
+
1626
+ /**
1627
+ * The address of the document owner.
1628
+ *
1629
+ */
1630
+ address?: string;
1631
+
1632
+ /**
1633
+ * The place of birth of the document owner.
1634
+ *
1635
+ */
1636
+ placeOfBirth?: string;
1637
+
1638
+ /**
1639
+ * The nationality of the document owner.
1640
+ *
1641
+ */
1642
+ nationality?: string;
1643
+
1644
+ /**
1645
+ * The race of the document owner.
1646
+ *
1647
+ */
1648
+ race?: string;
1649
+
1650
+ /**
1651
+ * The religion of the document owner.
1652
+ *
1653
+ */
1654
+ religion?: string;
1655
+
1656
+ /**
1657
+ * The profession of the document owner.
1658
+ *
1659
+ */
1660
+ profession?: string;
1661
+
1662
+ /**
1663
+ * The marital status of the document owner.
1664
+ *
1665
+ */
1666
+ maritalStatus?: string;
1667
+
1668
+ /**
1669
+ * The residential status of the document owner.
1670
+ *
1671
+ */
1672
+ residentialStatus?: string;
1673
+
1674
+ /**
1675
+ * The employer of the document owner.
1676
+ *
1677
+ */
1678
+ employer?: string;
1679
+
1680
+ /**
1681
+ * The sex of the document owner.
1682
+ *
1683
+ */
1684
+ sex?: string;
1685
+
1686
+ /**
1687
+ * The date of birth of the document owner.
1688
+ *
1689
+ */
1690
+ dateOfBirth?: DateResult<string>;
1691
+
1692
+ /**
1693
+ * The date of issue of the document.
1694
+ *
1695
+ */
1696
+ dateOfIssue?: DateResult<string>;
1697
+
1698
+ /**
1699
+ * The date of expiry of the document.
1700
+ *
1701
+ */
1702
+ dateOfExpiry?: DateResult<string>;
1703
+
1704
+ /**
1705
+ * The document number.
1706
+ *
1707
+ */
1708
+ documentNumber?: string;
1709
+
1710
+ /**
1711
+ * The personal identification number.
1712
+ *
1713
+ */
1714
+ personalIdNumber?: string;
1715
+
1716
+ /**
1717
+ * The additional number of the document.
1718
+ *
1719
+ */
1720
+ documentAdditionalNumber?: string;
1721
+
1722
+ /**
1723
+ * The issuing authority of the document.
1724
+ *
1725
+ */
1726
+ issuingAuthority?: string;
1727
+
1728
+ /**
1729
+ * The details about the address of the document owner.
1730
+ *
1731
+ */
1732
+ addressDetailedInfo?: AddressDetailedInfo;
1733
+
1734
+ /**
1735
+ * The driver license detailed info.
1736
+ *
1737
+ */
1738
+ driverLicenseDetailedInfo?: DriverLicenseDetailedInfo<string>;
1739
+ /**
1740
+ * Document specific extended elements that contain all barcode fields in their original form.
1741
+ *
1742
+ * Currently this is only filled for AAMVACompliant documents.
1743
+ */
1744
+ extendedElements?: BarcodeExtendedElements;
1745
+
1746
+ /**
1747
+ *
1748
+ * @param nativeBarcodeResult
1749
+ */
1750
+ constructor(nativeBarcodeResult: any) {
1751
+ this.barcodeData =
1752
+ nativeBarcodeResult.barcodeData;
1753
+ this.firstName = nativeBarcodeResult.firstName;
1754
+ this.middleName = nativeBarcodeResult.middleName;
1755
+ this.lastName = nativeBarcodeResult.lastName;
1756
+ this.fullName = nativeBarcodeResult.fullName;
1757
+ this.additionalNameInformation =
1758
+ nativeBarcodeResult.additionalNameInformation;
1759
+ this.address = nativeBarcodeResult.address;
1760
+ this.placeOfBirth = nativeBarcodeResult.placeOfBirth;
1761
+ this.nationality = nativeBarcodeResult.nationality;
1762
+ this.race = nativeBarcodeResult.race;
1763
+ this.religion = nativeBarcodeResult.religion;
1764
+ this.profession = nativeBarcodeResult.profession;
1765
+ this.maritalStatus = nativeBarcodeResult.maritalStatus;
1766
+ this.residentialStatus = nativeBarcodeResult.residentialStatus;
1767
+ this.employer = nativeBarcodeResult.employer;
1768
+ this.sex = nativeBarcodeResult.sex;
1769
+ this.dateOfBirth =
1770
+ nativeBarcodeResult.dateOfBirth;
1771
+ this.dateOfIssue =
1772
+ nativeBarcodeResult.dateOfIssue;
1773
+ this.dateOfExpiry =
1774
+ nativeBarcodeResult.dateOfExpiry;
1775
+ this.documentNumber = nativeBarcodeResult.documentNumber;
1776
+ this.personalIdNumber = nativeBarcodeResult.personalIdNumber;
1777
+ this.documentAdditionalNumber =
1778
+ nativeBarcodeResult.documentAdditionalNumber;
1779
+ this.issuingAuthority = nativeBarcodeResult.issuingAuthority;
1780
+ this.addressDetailedInfo =
1781
+ nativeBarcodeResult.addressDetailedInfo;
1782
+ this.driverLicenseDetailedInfo =
1783
+ nativeBarcodeResult.driverLicenseDetailedInfo;
1784
+ this.extendedElements =
1785
+ nativeBarcodeResult.extendedElements;
1786
+ }
1787
+ }
1788
+
1789
+ /**
1790
+ * Represents the raw, unparsed data extracted from a scanned barcode.
1791
+ *
1792
+ */
1793
+ export class BarcodeData {
1794
+ /**
1795
+ * Type of the scanned barcode.
1796
+ *
1797
+ */
1798
+ barcodeType?: BarcodeType;
1799
+
1800
+ /**
1801
+ * Raw bytes of the barcode content.
1802
+ *
1803
+ */
1804
+ rawData?: string;
1805
+
1806
+ /**
1807
+ * String representation of the barcode content.
1808
+ *
1809
+ */
1810
+ stringData?: string;
1811
+
1812
+ /**
1813
+ * Whether the barcode data is uncertain, i.e. if scanned barcode was incomplete or has parts of it missing.
1814
+ *
1815
+ */
1816
+ uncertain?: boolean;
1817
+
1818
+ /**
1819
+ *
1820
+ * @param nativeBarcodeData - specifies the barcode data obtained from the native SDK.
1821
+ */
1822
+ constructor(nativeBarcodeData: any) {
1823
+ this.barcodeType =
1824
+ nativeBarcodeData.barcodeType;
1825
+ this.rawData = nativeBarcodeData.rawData;
1826
+ this.stringData = nativeBarcodeData.stringData;
1827
+ this.uncertain = nativeBarcodeData.uncertain;
1828
+ }
1829
+ }
1830
+
1831
+ /**
1832
+ * Detailed information about the address.
1833
+ *
1834
+ */
1835
+ export class AddressDetailedInfo {
1836
+ /**
1837
+ * he address street portion of the document owner.
1838
+ *
1839
+ */
1840
+ street?: string;
1841
+
1842
+ /**
1843
+ * The address postal code portion of the document owner.
1844
+ *
1845
+ */
1846
+ postalCode?: string;
1847
+
1848
+ /**
1849
+ * The address city portion of the document owner.
1850
+ *
1851
+ */
1852
+ city?: string;
1853
+
1854
+ /**
1855
+ * The address jurisdiction code portion of the document owner.
1856
+ *
1857
+ */
1858
+ jurisdiction?: string;
1859
+
1860
+ /**
1861
+ *
1862
+ * @param nativeAddressDetailedInfo - specificies the address detailed info obtained from the native SDK.
1863
+ *
1864
+ */
1865
+ constructor(nativeAddressDetailedInfo: any) {
1866
+ this.street = nativeAddressDetailedInfo.street;
1867
+ this.postalCode = nativeAddressDetailedInfo.postalCode;
1868
+ this.city = nativeAddressDetailedInfo.city;
1869
+ this.jurisdiction = nativeAddressDetailedInfo.jurisdiction;
1870
+ }
1871
+ }
1872
+ /**
1873
+ * Represents the fields present in the barcode.
1874
+ * Currently this is only used for AAMVACompliant documents.
1875
+ */
1876
+ export class BarcodeExtendedElements {
1877
+ /**
1878
+ * Mandatory on all AAMVA and Magnetic barcodes.
1879
+ * On compact barcodes, use kFullAddress.
1880
+ *
1881
+ * City portion of the cardholder address.
1882
+ */
1883
+ addressCity?: string;
1884
+
1885
+ /**
1886
+ * Mandatory on all AAMVA and Magnetic barcodes.
1887
+ * On compact barcodes, use kFullAddress.
1888
+ *
1889
+ * State portion of the cardholder address.
1890
+ */
1891
+ addressJurisdictionCode?: string;
1892
+ /**
1893
+ * Mandatory on all AAMVA and Magnetic barcodes.
1894
+ * On compact barcodes, use kFullAddress.
1895
+ *
1896
+ * Postal code portion of the cardholder address in the U.S. and Canada.
1897
+ * If the trailing portion of the postal code in the U.S. is not known, zeros can be used
1898
+ * to fill the trailing set of numbers up to nine (9) digits.
1899
+ */
1900
+ addressPostalCode?: string;
1901
+
1902
+ /**
1903
+ * Mandatory on all AAMVA and Magnetic barcodes.
1904
+ * On compact barcodes, use kFullAddress.
1905
+ *
1906
+ * Street portion of the cardholder address.
1907
+ * The place where the registered driver of a vehicle (individual or corporation)
1908
+ * may be contacted such as a house number, street address, etc.
1909
+ */
1910
+ addressStreet?: string;
1911
+
1912
+ /**
1913
+ * Optional on all AAMVA barcodes.
1914
+ * On Compact barcodes, use kFullAddress.
1915
+ *
1916
+ * Second line of street portion of the cardholder address.
1917
+ */
1918
+ addressStreet2?: string;
1919
+
1920
+ /**
1921
+ * Optional on AAMVA 01. (MMDDCCYY format)
1922
+ *
1923
+ * ALTERNATIVE DATES(S) given as date of birth.
1924
+ */
1925
+ akaDateOfBirth?: string;
1926
+
1927
+ /**
1928
+ * Optional on all AAMVA and Compact barcodes.
1929
+ * Other family name by which the cardholder is known.
1930
+ */
1931
+ akaFamilyName?: string;
1932
+
1933
+ /**
1934
+ * Optional on all AAMVA and Compact barcodes.
1935
+ *
1936
+ * Other name by which the cardholder is known. ALTERNATIVE NAME(S) of the individual
1937
+ * holding the Driver License or ID.
1938
+ *
1939
+ * The Name field contains up to four portions, separated with the "," delimiter:
1940
+ * AKA Last Name (required)
1941
+ * , (required)
1942
+ * AKA First Name (required)
1943
+ * , (required if other name portions follow, otherwise optional)
1944
+ * AKA Middle Name(s) (optional)
1945
+ * , (required if other name portions follow, otherwise optional)
1946
+ * AKA Suffix (optional)
1947
+ * , (optional)
1948
+ *
1949
+ * If the individual has more than one AKA middle name they are separated with space.
1950
+ */
1951
+ akaFullName?: string;
1952
+
1953
+ /**
1954
+ * Optional on all AAMVA and Compact barcodes.
1955
+ *
1956
+ * Other given name by which the cardholder is known
1957
+ */
1958
+ akaGivenName?: string;
1959
+
1960
+ /**
1961
+ * Optional on AAMVA 01 barcodes.
1962
+ *
1963
+ * ALTERNATIVE MIDDLE NAME(s) or INITIALS of the individual holding the Driver License or ID.
1964
+ * Hyphenated names acceptable, spaces between names acceptable, but no other
1965
+ * use of special symbols.
1966
+ */
1967
+ akaMiddleName?: string;
1968
+
1969
+ /**
1970
+ * Optional on AAMVA 01 barcodes.
1971
+ *
1972
+ * ALTERNATIVE PREFIX to Driver Name. Freeform as defined by issuing jurisdiction.
1973
+ */
1974
+ akaPrefixName?: string;
1975
+ /**
1976
+ * Optional on AAMVA version 01.
1977
+ *
1978
+ * Driver "AKA" Social Security Number. FORMAT SAME AS DRIVER SOC SEC NUM. ALTERNATIVE NUMBERS(S) used as SS NUM.
1979
+ */
1980
+ akaSocialSecurityNumber?: string;
1981
+
1982
+ /**
1983
+ * Optional on all AAMVA and Compact barcodes.
1984
+ *
1985
+ * Other suffix by which the cardholder is known.
1986
+
1987
+ * The Suffix Code Portion, if submitted, can contain only the Suffix Codes
1988
+ * shown in the following table (e.g., Andrew Johnson, III = JOHNSON@ANDREW@@3RD):
1989
+ *
1990
+ * Suffix Meaning or Synonym
1991
+ * JR Junior
1992
+ * SR Senior or Esquire 1ST First
1993
+ * 2ND Second
1994
+ * 3RD Third
1995
+ * 4TH Fourth
1996
+ * 5TH Fifth
1997
+ * 6TH Sixth
1998
+ * 7TH Seventh
1999
+ * 8TH Eighth
2000
+ * 9TH Ninth
2001
+ */
2002
+ akaSuffixName?: string;
2003
+
2004
+ /**
2005
+ * Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
2006
+ *
2007
+ * A string of letters and/or numbers that identifies when, where, and by whom a driver's
2008
+ * license/ID card was made. If audit information is not used on the card or the MRT, it
2009
+ * must be included in the driver record.
2010
+ */
2011
+ auditInformation?: string;
2012
+
2013
+ /**
2014
+ * Optional on AAMVA 04, 05, 06, 07, 08 and Compact barcodes.
2015
+ *
2016
+ * DHS required field that indicates date of the most recent version change or
2017
+ * modification to the visible format of the DL/ID. (MMDDCCYY format)
2018
+ */
2019
+ cardRevisionDate?: string;
2020
+
2021
+ /**
2022
+ * Optional on AAMVA 04, 05, 06, 07, 08 and Compact barcodes.
2023
+ *
2024
+ * DHS required field that indicates compliance: "M" = materially compliant,
2025
+ * "F" = fully compliant, and, "N" = non-compliant.
2026
+ */
2027
+ complianceType?: string;
2028
+
2029
+ /**
2030
+ * Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
2031
+ *
2032
+ * Country in which DL/ID is issued. U.S. = USA, Canada = CAN.
2033
+ */
2034
+ countryIdentification?: string;
2035
+
2036
+ /**
2037
+ * Mandatory on all AAMVA, Magnetic and Compact barcodes.
2038
+ *
2039
+ * Family name of the cardholder. (Family name is sometimes also called "last name" or "surname.")
2040
+ * Collect full name for record, print as many characters as possible on portrait side of DL/ID.
2041
+ */
2042
+ customerFamilyName?: string;
2043
+
2044
+ /**
2045
+ * Mandatory on all AAMVA and Compact barcodes.
2046
+ *
2047
+ * The number assigned or calculated by the issuing authority.
2048
+ */
2049
+ customerIdNumber?: string;
2050
+
2051
+ /**
2052
+ * Mandatory on all AAMVA, Magnetic and Compact barcodes.
2053
+ *
2054
+ * First name of the cardholder.
2055
+ */
2056
+ customerFirstName?: string;
2057
+
2058
+ /**
2059
+ * Mandatory on all AAMVA, Magnetic and Compact barcodes.
2060
+ *
2061
+ * Full name of the individual holding the Driver's License or ID.
2062
+ *
2063
+ * The Name field contains up to four portions, separated with the "," delimiter:
2064
+ * Last Name (required)
2065
+ * , (required)
2066
+ * First Name (required)
2067
+ * , (required if other name portions follow, otherwise optional)
2068
+ * Middle Name(s) (optional)
2069
+ * , (required if other name portions follow, otherwise optional)
2070
+ * Suffix (optional)
2071
+ * , (optional)
2072
+ *
2073
+ * If the individual has more than one middle name they are separated with space.
2074
+ */
2075
+ customerFullName?: string;
2076
+
2077
+ /**
2078
+ * Mandatory on AAMVA 04, 05, 06, 07, 08 barcodes.
2079
+ * Optional on AAMVA 01, 02, 03, Magnetic and Compcat barcodes.
2080
+ *
2081
+ * Middle name(s) of the cardholder. In the case of multiple middle names they
2082
+ * shall be separated by space " ".
2083
+ */
2084
+ customerMiddleName?: string;
2085
+
2086
+ /**
2087
+ * Optional on compact barcodes.
2088
+ *
2089
+ * Document discriminator.
2090
+ */
2091
+ dataDiscriminator?: string;
2092
+
2093
+ /**
2094
+ * Mandatory on all AAMVA, Magnetic and Compact barcodes.
2095
+ *
2096
+ * Date on which the cardholder was born. (MMDDCCYY format)
2097
+ */
2098
+ dateOfBirth?: string;
2099
+
2100
+ /**
2101
+ * Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 and Magnetic barcodes.
2102
+ * Optional on Compact barcodes.
2103
+ *
2104
+ * Number must uniquely identify a particular document issued to that customer
2105
+ * from others that may have been issued in the past. This number may serve
2106
+ * multiple purposes of document discrimination, audit info, and/or inventory control.
2107
+ */
2108
+ documentDiscriminator?: string;
2109
+
2110
+ /**
2111
+ * Mandatory on all AAMVA, Magnetic and Compact barcodes.
2112
+ *
2113
+ * Date on which the document expires. (MMDDCCYY format)
2114
+ * If the document is non expiring then "Non expiring" is written in this field.
2115
+ */
2116
+ documentExpirationDate?: string;
2117
+
2118
+ /**
2119
+ * Optional on Magnetic barcodes.
2120
+ *
2121
+ * Month on which the driving and identification privileges granted by the document are no longer valid.
2122
+ */
2123
+ documentExpirationMonth?: string;
2124
+
2125
+ /**
2126
+ * Mandatory on all AAMVA and Compact barcodes.
2127
+ *
2128
+ * Date on which the document was issued. (MMDDCCYY format)
2129
+ */
2130
+ documentIssueDate?: string;
2131
+
2132
+ /**
2133
+ * Optional on Magnetic barcodes.
2134
+ *
2135
+ * Field that indicates that the driving and identification privileges granted by the
2136
+ * document are nonexpiring = "1".
2137
+ */
2138
+ documentNonexpiring?: string;
2139
+
2140
+ /**
2141
+ * Mandatory on all driver's licenses.
2142
+ * All barcodes which are using 3-track magnetic stripe encoding used in the interest of smoothing a transition from legacy documents
2143
+ * shall be designated as "Magnetic". All barcodes which are using compact encoding
2144
+ * compliant with ISO/IEC 18013-2 shall be designated as "Compact". All barcodes (majority)
2145
+ * compliant with Mandatory PDF417 Bar Code of the American Association of Motor Vehicle
2146
+ * Administrators (AAMVA) Card Design Standard from AAMVA DL/ID-2000 standard to DL/ID-2013
2147
+ * shall be designated as "AAMVA".
2148
+ */
2149
+ documentType?: string;
2150
+
2151
+ /**
2152
+ * Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 barcodes.
2153
+ * Optional on AAMVA 01, Magnetic and Compact barcodes.
2154
+ *
2155
+ * Color of cardholder's eyes. (ANSI D-20 codes)
2156
+ * Code Description
2157
+ * BLK Black
2158
+ * BLU Blue
2159
+ * BRO Brown
2160
+ * GRY Gray
2161
+ * GRN Green
2162
+ * HAZ Hazel
2163
+ * MAR Maroon
2164
+ * PNK Pink
2165
+ * DIC Dichromatic
2166
+ * UNK Unknown
2167
+ */
2168
+ eyeColor?: string;
2169
+
2170
+ /**
2171
+ * Mandatory on AAMVA 04, 05, 06, 07, 08 barcodes.
2172
+ * Optional on Compact barcodes.
2173
+ * A code that indicates whether a field has been truncated (T), has not been
2174
+ * truncated (N), or – unknown whether truncated (U).
2175
+ */
2176
+ familyNameTruncation?: string;
2177
+
2178
+ /**
2179
+ * Mandatory on AAMVA versions 02 and 03.
2180
+ *
2181
+ * Federally established codes for vehicle categories, endorsements, and restrictions
2182
+ * that are generally applicable to commercial motor vehicles. If the vehicle is not a
2183
+ * commercial vehicle, "NONE" is to be entered.
2184
+ */
2185
+ federalCommercialVehicleCodes?: string;
2186
+
2187
+ /**
2188
+ * Mandatory on AAMVA 04, 05, 06, 07, 08 barcodes.
2189
+ * Optional on Compact barcodes.
2190
+ *
2191
+ * A code that indicates whether a field has been truncated (T), has not been
2192
+ * truncated (N), or – unknown whether truncated (U).
2193
+ */
2194
+ firstNameTruncation?: string;
2195
+
2196
+ /**
2197
+ * Mandatory on all AAMVA and Magnetic barcodes.
2198
+ * Optional on Compact barcodes.
2199
+ *
2200
+ * Full address of the individual holding the Driver's License or ID.
2201
+ *
2202
+ * The full address field contains up to four portions, separated with the "," delimiter:
2203
+ * Street Address (required)
2204
+ * , (required if other address portions follow, otherwise optional)
2205
+ * City (optional)
2206
+ * , (required if other address portions follow, otherwise optional)
2207
+ * Jurisdiction Code (optional)
2208
+ * , (required if other address portions follow, otherwise optional)
2209
+ * ZIP - Postal Code (optional)
2210
+ */
2211
+ fullAddress?: string;
2212
+
2213
+ /**
2214
+ * Optional on all AAMVA, Magnetic and Compact barcodes.
2215
+ *
2216
+ * Bald, black, blonde, brown, gray, red/auburn, sandy, white, unknown. If the issuing
2217
+ * jurisdiction wishes to abbreviate colors, the three-character codes provided in ANSI D20 must be
2218
+ * used.
2219
+ *
2220
+ * Code Description
2221
+ * BAL Bald
2222
+ * BLK Black
2223
+ * BLN Blond
2224
+ * BRO Brown
2225
+ * GRY Grey
2226
+ * RED Red/Auburn
2227
+ * SDY Sandy
2228
+ * WHI White
2229
+ * UNK Unknown
2230
+ */
2231
+ hairColor?: string;
2232
+
2233
+ /**
2234
+ * Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
2235
+ * Optional on AAMVA 01 and Magnetic barcodes.
2236
+ *
2237
+ * Height of cardholder, either in Inches or in Centimeters.
2238
+ *
2239
+ * Inches (in): number of inches followed by " in"
2240
+ * example: 6'1'' = "73 in"
2241
+ *
2242
+ * Centimeters (cm): number of centimeters followed by " cm"
2243
+ * example: 181 centimeters = "181 cm"
2244
+ */
2245
+ height?: string;
2246
+
2247
+ /**
2248
+ * Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
2249
+ * Optional on AAMVA 01 and Magnetic barcodes.
2250
+ *
2251
+ * Height of cardholder in Inches.
2252
+ * Example: 5'9'' = "69".
2253
+ *
2254
+ */
2255
+ heightIn?: string;
2256
+
2257
+ /**
2258
+ * Mandatory on AAMVA 02, 03, 04, 05, 06, 07, 08 Compact barcodes.
2259
+ * Optional on AAMVA 01 and Magnetic barcodes.
2260
+ *
2261
+ * Height of cardholder in Centimeters.
2262
+ * Example: 180 Centimeters = "180".
2263
+ */
2264
+ heightCm?: string;
2265
+
2266
+ /**
2267
+ * Mandatory on all AAMVA, Magnetic and Compact barcodes.
2268
+ *
2269
+ * This number uniquely identifies the issuing jurisdiction and can
2270
+ * be obtained by contacting the ISO Issuing Authority (AAMVA)
2271
+ */
2272
+ issuerIdentificationNumber?: string;
2273
+
2274
+ /**
2275
+ * Optional on all AAMVA barcodes.
2276
+ * Mandatory on Compact barcodes.
2277
+ *
2278
+ * Jurisdictions may define a subfile to contain jurisdiction-specific information.
2279
+ * These subfiles are designated with the first character of “Z” and the second
2280
+ * character is the first letter of the jurisdiction's name. For example, "ZC" would
2281
+ * be the designator for a California or Colorado jurisdiction-defined subfile, "ZQ"
2282
+ * would be the designator for a Quebec jurisdiction-defined subfile. In the case of
2283
+ * a jurisdiction-defined subfile that has a first letter that could be more than
2284
+ * one jurisdiction (e.g. California, Colorado, Connecticut) then other data, like
2285
+ * the IIN or address, must be examined to determine the jurisdiction.
2286
+ *
2287
+ */
2288
+ issuingJurisdiction?: string;
2289
+
2290
+ /**
2291
+ * Optional on all AAMVA and Magnetic barcodes.
2292
+ *
2293
+ * Name of issuing jurisdiction, for example: Alabama, Alaska ...
2294
+ */
2295
+ issuingJurisdictionName?: string;
2296
+
2297
+ /**
2298
+ * Mandatory on all AAMVA barcodes.
2299
+ * Optional on Magnetic barcodes.
2300
+ *
2301
+ * Jurisdiction-specific codes that represent additional privileges
2302
+ * granted to the cardholder beyond the vehicle class (such as transportation of
2303
+ * passengers, hazardous materials, operation of motorcycles, etc.).
2304
+ */
2305
+ jurisdictionEndorsementCodes?: string;
2306
+
2307
+ /**
2308
+ * Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
2309
+ *
2310
+ * Text that explains the jurisdiction-specific code(s) that indicates additional
2311
+ * driving privileges granted to the cardholder beyond the vehicle class.
2312
+ */
2313
+ jurisdictionEndorsmentCodeDescription?: string;
2314
+
2315
+ /**
2316
+ * Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
2317
+ *
2318
+ * Text describing the jurisdiction-specific restriction code(s) that curtail driving privileges.
2319
+ */
2320
+ jurisdictionRestrictionCodeDescription?: string;
2321
+
2322
+ /**
2323
+ * Mandatory on all AAMVA barcodes.
2324
+ * Optional on Magnetic barcodes.
2325
+ *
2326
+ * Jurisdiction-specific codes that represent additional privileges
2327
+ * granted to the cardholder beyond the vehicle class (such as transportation of
2328
+ * passengers, hazardous materials, operation of motorcycles, etc.).
2329
+ */
2330
+ jurisdictionRestrictionCodes?: string;
2331
+
2332
+ /**
2333
+ * Mandatory on all AAMVA and Magnetic barcodes.
2334
+ *
2335
+ * Jurisdiction-specific vehicle class / group code, designating the type
2336
+ * of vehicle the cardholder has privilege to drive.
2337
+ */
2338
+ jurisdictionVehicleClass?: string;
2339
+
2340
+ /**
2341
+ * Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
2342
+ *
2343
+ * Text that explains the jurisdiction-specific code(s) for classifications
2344
+ * of vehicles cardholder is authorized to drive.
2345
+ */
2346
+ jurisdictionVehicleClassificationDescription?: string;
2347
+
2348
+ /**
2349
+ * Mandatory on all AAMVA and Compact barcodes.
2350
+ * Optional on Magnetic barcodes.
2351
+ *
2352
+ * Jurisdiction Version Number: This is a decimal value between 0 and 99 that
2353
+ * specifies the jurisdiction version level of the PDF417 barcode format.
2354
+ * Notwithstanding iterations of this standard, jurisdictions implement incremental
2355
+ * changes to their barcodes, including new jurisdiction-specific data, compression
2356
+ * algorithms for digitized images, digital signatures, or new truncation
2357
+ * conventions used for names and addresses. Each change to the barcode format
2358
+ * within each AAMVA version (above) must be noted, beginning with Jurisdiction
2359
+ * Version 00.
2360
+ */
2361
+ jurisdictionVersionNumber?: string;
2362
+
2363
+ /**
2364
+ * Optional on AAMVA 04, 05, 06, 07, 08 and Compact barcodes.
2365
+ *
2366
+ * DHS required field that indicates that the cardholder has temporary lawful status = "1".
2367
+ */
2368
+ limitedDurationDocument?: string;
2369
+
2370
+ /**
2371
+ * Optional on AAMVA version 01.
2372
+ *
2373
+ * Medical Indicator/Codes.
2374
+ * STATE SPECIFIC. Freeform, Standard "TBD"
2375
+ */
2376
+ medicalIndicator?: string;
2377
+
2378
+ /**
2379
+ * Mandatory on AAMVA 04, 05, 06, 07, 08 barcodes.
2380
+ *
2381
+ * A code that indicates whether a field has been truncated (T), has not been
2382
+ * truncated (N), or – unknown whether truncated (U).
2383
+ */
2384
+ middleNameTruncation?: string;
2385
+
2386
+ /**
2387
+ * Optional on AAMVA 01 barcodes.
2388
+ *
2389
+ * PREFIX to Driver Name. Freeform as defined by issuing jurisdiction.
2390
+ */
2391
+ namePrefix?: string;
2392
+
2393
+ /**
2394
+ * Mandatory on AAMVA 02 barcodes.
2395
+ * Optional on AAMVA 01, 03, 04, 05, 06, 07, 08, Magnetic and Compact barcodes.
2396
+ *
2397
+ * Name Suffix (If jurisdiction participates in systems requiring name suffix (PDPS, CDLIS, etc.),
2398
+ * the suffix must be collected and displayed on the DL/ID and in the MRT).
2399
+ * - JR (Junior)
2400
+ * - SR (Senior)
2401
+ * - 1ST or I (First)
2402
+ * - 2ND or II (Second)
2403
+ * - 3RD or III (Third)
2404
+ * - 4TH or IV (Fourth)
2405
+ * - 5TH or V (Fifth)
2406
+ * - 6TH or VI (Sixth)
2407
+ * - 7TH or VII (Seventh)
2408
+ * - 8TH or VIII (Eighth)
2409
+ * - 9TH or IX (Ninth)
2410
+ */
2411
+ nameSuffix?: string;
2412
+
2413
+ /**
2414
+ * Optional on AAMVA version 01.
2415
+ *
2416
+ * Non-Resident Indicator. "Y". Used by some jurisdictions to indicate holder of the document is a non-resident.
2417
+ */
2418
+ nonResident?: string;
2419
+
2420
+ /**
2421
+ * Optional on AAMVA version 01.
2422
+ *
2423
+ * Number of duplicate cards issued for a license or ID if any.
2424
+ */
2425
+ numberOfDuplicates?: string;
2426
+
2427
+ /**
2428
+ * Optional on AAMVA 01, 06, 07, 08 barcodes.
2429
+ *
2430
+ * Field that indicates that the cardholder is an organ donor = "1".
2431
+ */
2432
+ organDonor?: string;
2433
+
2434
+ /**
2435
+ * Optional on AAMVA version 01 barcodes.
2436
+ *
2437
+ * Driver Permit Expiration Date. MMDDCCYY format. Date permit expires.
2438
+ */
2439
+ permitExpirationDate?: string;
2440
+
2441
+ /**
2442
+ * Optional on AAMVA version 01 barcodes..
2443
+ *
2444
+ * Type of permit.
2445
+ */
2446
+ permitIdentifier?: string;
2447
+
2448
+ /**
2449
+ * Optional on AAMVA version 01 barcodes..
2450
+ *
2451
+ * Driver Permit Issue Date. MMDDCCYY format. Date permit was issued.
2452
+ */
2453
+ permitIssueDate?: string;
2454
+
2455
+ /**
2456
+ * Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
2457
+ *
2458
+ * Country and municipality and/or state/province.
2459
+ */
2460
+ placeOfBirth?: string;
2461
+
2462
+ /**
2463
+ * Optional on AAMVA 02, 03, 04, 05, 06, 07, 08 and Compact barcodes.
2464
+ *
2465
+ * Codes for race or ethnicity of the cardholder, as defined in ANSI D20.
2466
+ *
2467
+ * Race:
2468
+ * Code Description
2469
+ * AI Alaskan or American Indian (Having Origins in Any of The Original Peoples of
2470
+ * North America, and Maintaining Cultural Identification Through Tribal
2471
+ * Affiliation of Community Recognition)
2472
+ * AP Asian or Pacific Islander (Having Origins in Any of the Original Peoples of
2473
+ * the Far East, Southeast Asia, or Pacific Islands. This Includes China, India,
2474
+ * Japan, Korea, the Philippines Islands, and Samoa)
2475
+ * BK Black (Having Origins in Any of the Black Racial Groups of Africa)
2476
+ * W White (Having Origins in Any of The Original Peoples of Europe, North Africa,
2477
+ * or the Middle East)
2478
+ *
2479
+ * Ethnicity:
2480
+ * Code Description
2481
+ * H Hispanic Origin (A Person of Mexican, Puerto Rican, Cuban, Central or South
2482
+ * American or Other Spanish Culture or Origin, Regardless of Race)
2483
+ * O Not of Hispanic Origin (Any Person Other Than Hispanic)
2484
+ * U Unknown
2485
+ */
2486
+ raceEthnicity?: string;
2487
+
2488
+ /**
2489
+ * Optional on AAMVA version 01.
2490
+ *
2491
+ * Driver Residence City
2492
+ */
2493
+ residenceCity?: string;
2494
+
2495
+ /**
2496
+ * Optional on AAMVA 01 barcodes.
2497
+ *
2498
+ * Full residence address of the individual holding the Driver's License or ID.
2499
+ * The full address field contains up to four portions, separated with the "," delimiter:
2500
+ * Residence Street Address (required)
2501
+ * , (required if other address portions follow, otherwise optional)
2502
+ * Residence City (optional)
2503
+ * , (required if other address portions follow, otherwise optional)
2504
+ * Residence Jurisdiction Code (optional)
2505
+ * , (required if other address portions follow, otherwise optional)
2506
+ * Residence ZIP - Residence Postal Code (optional)
2507
+ */
2508
+ residenceFullAddress?: string;
2509
+
2510
+ /**
2511
+ * Optional on AAMVA version 01.
2512
+ *
2513
+ * Driver Residence Jurisdiction Code.
2514
+ */
2515
+ residenceJurisdictionCode?: string;
2516
+
2517
+ /**
2518
+ * Optional on AAMVA 01 barcodes.
2519
+ *
2520
+ * Driver Residence Postal Code.
2521
+ */
2522
+ residencePostalCode?: string;
2523
+
2524
+ /**
2525
+ * Optional on AAMVA version 01.
2526
+ *
2527
+ * Driver Residence Street Address 1.
2528
+ */
2529
+ residenceStreetAddress?: string;
2530
+
2531
+ /**
2532
+ * Optional on AAMVA version 01.
2533
+ *
2534
+ * Driver Residence Street Address 2.
2535
+ */
2536
+ residenceStreetAddress2?: string;
2537
+
2538
+ /**
2539
+ * Optional on Magnetic barcodes.
2540
+ *
2541
+ * Security version being used.
2542
+ */
2543
+ securityVersion?: string;
2544
+
2545
+ /**
2546
+ * Mandatory on all AAMVA, Magnetic barcodes.
2547
+ * Optional on Compact barcodes.
2548
+ *
2549
+ * Gender of the cardholder. 1 = male, 2 = female.
2550
+ */
2551
+ sex?: string;
2552
+
2553
+ /**
2554
+ * Optional on AAMVA version 01.
2555
+ *
2556
+ * The number assigned to the individual by the Social Security Administration.
2557
+ */
2558
+ socialSecurityNumber?: string;
2559
+
2560
+ /**
2561
+ * Optional on all AAMVA barcodes.
2562
+ *
2563
+ * Standard endorsement code(s) for cardholder. See codes in D20. This data element is a
2564
+ * placeholder for future efforts to standardize endorsement codes.
2565
+ *
2566
+ * Code Description
2567
+ * H Hazardous Material - This endorsement is required for the operation of any vehicle
2568
+ * transporting hazardous materials requiring placarding, as defined by U.S.
2569
+ * Department of Transportation regulations.
2570
+ * L Motorcycles – Including Mopeds/Motorized Bicycles.
2571
+ *
2572
+ * N Tank - This endorsement is required for the operation of any vehicle transporting,
2573
+ * as its primary cargo, any liquid or gaseous material within a tank attached to the vehicle.
2574
+ *
2575
+ * O Other Jurisdiction Specific Endorsement(s) - This code indicates one or more
2576
+ * additional jurisdiction assigned endorsements.
2577
+ *
2578
+ * P Passenger - This endorsement is required for the operation of any vehicle used for
2579
+ * transportation of sixteen or more occupants, including the driver.
2580
+ *
2581
+ * S School Bus - This endorsement is required for the operation of a school bus. School bus means a
2582
+ * CMV used to transport pre-primary, primary, or secondary school students from home to school,
2583
+ * from school to home, or to and from school sponsored events. School bus does not include a
2584
+ * bus used as common carrier (49 CRF 383.5).
2585
+ *
2586
+ * T Doubles/Triples - This endorsement is required for the operation of any vehicle that would be
2587
+ * referred to as a double or triple.
2588
+ *
2589
+ * X Combined Tank/HAZ-MAT - This endorsement may be issued to any driver who qualifies for
2590
+ * both the N and H endorsements.
2591
+ */
2592
+ standardEndorsementCode?: string;
2593
+
2594
+ /**
2595
+ * Optional on all AAMVA barcodes.
2596
+ *
2597
+ * Standard restriction code(s) for cardholder. See codes in D20. This data element is a placeholder
2598
+ * for future efforts to standardize restriction codes.
2599
+ *
2600
+ * Code Description
2601
+ * B Corrective Lenses
2602
+ * C Mechanical Devices (Special Brakes, Hand Controls, or Other Adaptive Devices)
2603
+ * D Prosthetic Aid
2604
+ * E Automatic Transmission
2605
+ * F Outside Mirror
2606
+ * G Limit to Daylight Only
2607
+ * H Limit to Employment
2608
+ * I Limited Other
2609
+ * J Other
2610
+ * K CDL Intrastate Only
2611
+ * L Vehicles without air brakes
2612
+ * M Except Class A bus
2613
+ * N Except Class A and Class B bus
2614
+ * O Except Tractor-Trailer
2615
+ * V Medical Variance Documentation Required
2616
+ * W Farm Waiver
2617
+ */
2618
+ standardRestrictionCode?: string;
2619
+
2620
+ /**
2621
+ * Optional on all AAMVA barcodes.
2622
+ * Mandatory on Compact barcodes.
2623
+ *
2624
+ * Standard vehicle classification code(s) for cardholder. This data element is a
2625
+ * placeholder for future efforts to standardize vehicle classifications.
2626
+ */
2627
+ standardVehicleClassification?: string;
2628
+
2629
+ /**
2630
+ * Mandatory on all driver's licenses.
2631
+ *
2632
+ * AAMVA Version Number: This is a decimal value between 0 and 99 that
2633
+ * specifies the version level of the PDF417 bar code format. Version "0" and "00"
2634
+ * is reserved for bar codes printed to the specification of the American Association
2635
+ * of Motor Vehicle Administrators (AAMVA) prior to the adoption of the AAMVA DL/ID-2000
2636
+ * standard.
2637
+ *
2638
+ * - All barcodes compliant with AAMVA DL/ID-2000 standard shall be designated Version "01."
2639
+ * - All barcodes compliant with AAMVA Card Design Specification version 1.0, dated 09-2003
2640
+ * shall be designated Version "02."
2641
+ * - All barcodes compliant with AAMVA Card Design Specification version 2.0, dated 03-2005
2642
+ * shall be designated Version "03."
2643
+ * - All barcodes compliant with AAMVA Card Design Standard version 1.0, dated 07-2009
2644
+ * shall be designated Version "04."
2645
+ * - All barcodes compliant with AAMVA Card Design Standard version 1.0, dated 07-2010
2646
+ * shall be designated Version "05."
2647
+ * - All barcodes compliant with AAMVA Card Design Standard version 1.0, dated 07-2011
2648
+ * shall be designated Version "06".
2649
+ * - All barcodes compliant with AAMVA Card Design Standard version 1.0, dated 06-2012
2650
+ * shall be designated Version "07".
2651
+ * - All barcodes compliant with this current AAMVA standard shall be designated "08".
2652
+ *
2653
+ * Should a need arise requiring major revision to the format, this field provides the
2654
+ * means to accommodate additional revision.
2655
+ *
2656
+ * If the document type is not "AAMVA", this field defines the version number of the
2657
+ * given document type's standard.
2658
+ */
2659
+ standardVersionNumber?: string;
2660
+
2661
+ /**
2662
+ * Optional on AAMVA 05, 06, 07, 08 barcodes.
2663
+ * Date on which the cardholder turns 18 years old. (MMDDCCYY format)
2664
+ */
2665
+ under18?: string;
2666
+
2667
+ /**
2668
+ * Optional on AAMVA 05, 06, 07, 08 barcodes.
2669
+ *
2670
+ * Date on which the cardholder turns 19 years old. (MMDDCCYY format)
2671
+ */
2672
+ under19?: string;
2673
+
2674
+ /**
2675
+ * Optional on AAMVA 05, 06, 07, 08 barcodes.
2676
+ *
2677
+ * Date on which the cardholder turns 21 years old. (MMDDCCYY format)
2678
+ */
2679
+ under21?: string;
2680
+
2681
+ /**
2682
+ * Optional on AAMVA version 01.
2683
+ *
2684
+ * A number or alphanumeric string used by some jurisdictions to identify a "customer" across multiple data bases.
2685
+ */
2686
+ uniqueCustomerId?: string;
2687
+
2688
+ /**
2689
+ * Optional on AAMVA 07, 08 barcodes.
2690
+ *
2691
+ * Field that indicates that the cardholder is a veteran = "1"
2692
+ */
2693
+ veteran?: string;
2694
+
2695
+ /**
2696
+ * Mandatory on AAMVA 02 barcodes.
2697
+ * Optional on AAMVA 01, 03, 04, 05, 06, 07, 08, Magnetic and Compact barcodes.
2698
+ *
2699
+ * Cardholder weight in kilograms Example: 84 kg = "084"
2700
+ */
2701
+ weightKilograms?: string;
2702
+
2703
+ /**
2704
+ * Mandatory on AAMVA 02 barcodes.
2705
+ * Optional on AAMVA 01, 03, 04, 05, 06, 07, 08, Magnetic and Compact barcodes.
2706
+ *
2707
+ * Cardholder weight in pounds Example: 185 lb = "185"
2708
+ */
2709
+ weightPounds?: string;
2710
+
2711
+ /**
2712
+ * Mandatory on AAMVA 02 barcodes.
2713
+ * Optional on AAMVA 01, 03, 04, 05, 06, 07, 08, Magnetic and Compact barcodes.
2714
+ *
2715
+ * Indicates the approximate weight range of the cardholder:
2716
+ * 0 = up to 31 kg (up to 70 lbs)
2717
+ * 1 = 32 – 45 kg (71 – 100 lbs)
2718
+ * 2 = 46 - 59 kg (101 – 130 lbs)
2719
+ * 3 = 60 - 70 kg (131 – 160 lbs)
2720
+ * 4 = 71 - 86 kg (161 – 190 lbs)
2721
+ * 5 = 87 - 100 kg (191 – 220 lbs)
2722
+ * 6 = 101 - 113 kg (221 – 250 lbs)
2723
+ * 7 = 114 - 127 kg (251 – 280 lbs)
2724
+ * 8 = 128 – 145 kg (281 – 320 lbs)
2725
+ * 9 = 146+ kg (321+ lbs)
2726
+ */
2727
+ weightRange?: string;
2728
+
2729
+ /**
2730
+ *
2731
+ * @param nativeBarcodeExtendedElements - specifies the extended barcode elements obtained from the native SDK.
2732
+ */
2733
+ constructor(nativeBarcodeExtendedElements: any) {
2734
+ this.addressCity = nativeBarcodeExtendedElements.addressCity;
2735
+ this.addressJurisdictionCode =
2736
+ nativeBarcodeExtendedElements.addressJurisdictionCode;
2737
+ this.addressPostalCode = nativeBarcodeExtendedElements.addressPostalCode;
2738
+ this.addressStreet = nativeBarcodeExtendedElements.addressStreet;
2739
+ this.addressStreet2 = nativeBarcodeExtendedElements.addressStreet2;
2740
+ this.akaDateOfBirth = nativeBarcodeExtendedElements.akaDateOfBirth;
2741
+ this.akaFamilyName = nativeBarcodeExtendedElements.akaFamilyName;
2742
+ this.akaFullName = nativeBarcodeExtendedElements.akaFullName;
2743
+ this.akaGivenName = nativeBarcodeExtendedElements.akaGivenName;
2744
+ this.akaMiddleName = nativeBarcodeExtendedElements.akaMiddleName;
2745
+ this.akaPrefixName = nativeBarcodeExtendedElements.akaPrefixName;
2746
+ this.akaSocialSecurityNumber =
2747
+ nativeBarcodeExtendedElements.akaSocialSecurityNumber;
2748
+ this.akaSuffixName = nativeBarcodeExtendedElements.akaSuffixName;
2749
+ this.auditInformation = nativeBarcodeExtendedElements.auditInformation;
2750
+ this.cardRevisionDate = nativeBarcodeExtendedElements.cardRevisionDate;
2751
+ this.complianceType = nativeBarcodeExtendedElements.complianceType;
2752
+ this.countryIdentification =
2753
+ nativeBarcodeExtendedElements.countryIdentification;
2754
+ this.customerFamilyName = nativeBarcodeExtendedElements.customerFamilyName;
2755
+ this.customerIdNumber = nativeBarcodeExtendedElements.customerIdNumber;
2756
+ this.customerFirstName = nativeBarcodeExtendedElements.customerFirstName;
2757
+ this.customerFullName = nativeBarcodeExtendedElements.customerFullName;
2758
+ this.customerMiddleName = nativeBarcodeExtendedElements.customerMiddleName;
2759
+ this.dataDiscriminator = nativeBarcodeExtendedElements.dataDiscriminator;
2760
+ this.dateOfBirth = nativeBarcodeExtendedElements.dateOfBirth;
2761
+ this.documentDiscriminator =
2762
+ nativeBarcodeExtendedElements.documentDiscriminator;
2763
+ this.documentExpirationDate =
2764
+ nativeBarcodeExtendedElements.documentExpirationDate;
2765
+ this.documentExpirationMonth =
2766
+ nativeBarcodeExtendedElements.documentExpirationMonth;
2767
+ this.documentIssueDate = nativeBarcodeExtendedElements.documentIssueDate;
2768
+ this.documentNonexpiring =
2769
+ nativeBarcodeExtendedElements.documentNonexpiring;
2770
+ this.documentType = nativeBarcodeExtendedElements.documentType;
2771
+ this.eyeColor = nativeBarcodeExtendedElements.eyeColor;
2772
+ this.familyNameTruncation =
2773
+ nativeBarcodeExtendedElements.familyNameTruncation;
2774
+ this.federalCommercialVehicleCodes =
2775
+ nativeBarcodeExtendedElements.federalCommercialVehicleCodes;
2776
+ this.firstNameTruncation =
2777
+ nativeBarcodeExtendedElements.firstNameTruncation;
2778
+ this.fullAddress = nativeBarcodeExtendedElements.fullAddress;
2779
+ this.hairColor = nativeBarcodeExtendedElements.hairColor;
2780
+ this.height = nativeBarcodeExtendedElements.height;
2781
+ this.heightIn = nativeBarcodeExtendedElements.heightIn;
2782
+ this.heightCm = nativeBarcodeExtendedElements.heightCm;
2783
+ this.issuerIdentificationNumber =
2784
+ nativeBarcodeExtendedElements.issuerIdentificationNumber;
2785
+ this.issuingJurisdiction =
2786
+ nativeBarcodeExtendedElements.issuingJurisdiction;
2787
+ this.issuingJurisdictionName =
2788
+ nativeBarcodeExtendedElements.issuingJurisdictionName;
2789
+ this.jurisdictionEndorsementCodes =
2790
+ nativeBarcodeExtendedElements.jurisdictionEndorsementCodes;
2791
+ this.jurisdictionEndorsmentCodeDescription =
2792
+ nativeBarcodeExtendedElements.jurisdictionEndorsmentCodeDescription;
2793
+ this.jurisdictionRestrictionCodeDescription =
2794
+ nativeBarcodeExtendedElements.jurisdictionRestrictionCodeDescription;
2795
+ this.jurisdictionRestrictionCodes =
2796
+ nativeBarcodeExtendedElements.jurisdictionRestrictionCodes;
2797
+ this.jurisdictionVehicleClass =
2798
+ nativeBarcodeExtendedElements.jurisdictionVehicleClass;
2799
+ this.jurisdictionVehicleClassificationDescription =
2800
+ nativeBarcodeExtendedElements.jurisdictionVehicleClassificationDescription;
2801
+ this.jurisdictionVersionNumber =
2802
+ nativeBarcodeExtendedElements.jurisdictionVersionNumber;
2803
+ this.limitedDurationDocument =
2804
+ nativeBarcodeExtendedElements.limitedDurationDocument;
2805
+ this.medicalIndicator = nativeBarcodeExtendedElements.medicalIndicator;
2806
+ this.middleNameTruncation =
2807
+ nativeBarcodeExtendedElements.middleNameTruncation;
2808
+ this.namePrefix = nativeBarcodeExtendedElements.namePrefix;
2809
+ this.nameSuffix = nativeBarcodeExtendedElements.nameSuffix;
2810
+ this.nonResident = nativeBarcodeExtendedElements.nonResident;
2811
+ this.numberOfDuplicates = nativeBarcodeExtendedElements.numberOfDuplicates;
2812
+ this.organDonor = nativeBarcodeExtendedElements.organDonor;
2813
+ this.permitExpirationDate =
2814
+ nativeBarcodeExtendedElements.permitExpirationDate;
2815
+ this.permitIdentifier = nativeBarcodeExtendedElements.permitIdentifier;
2816
+ this.permitIssueDate = nativeBarcodeExtendedElements.permitIssueDate;
2817
+ this.placeOfBirth = nativeBarcodeExtendedElements.placeOfBirth;
2818
+ this.raceEthnicity = nativeBarcodeExtendedElements.raceEthnicity;
2819
+ this.residenceCity = nativeBarcodeExtendedElements.residenceCity;
2820
+ this.residenceFullAddress =
2821
+ nativeBarcodeExtendedElements.residenceFullAddress;
2822
+ this.residenceJurisdictionCode =
2823
+ nativeBarcodeExtendedElements.residenceJurisdictionCode;
2824
+ this.residencePostalCode =
2825
+ nativeBarcodeExtendedElements.residencePostalCode;
2826
+ this.residenceStreetAddress =
2827
+ nativeBarcodeExtendedElements.residenceStreetAddress;
2828
+ this.residenceStreetAddress2 =
2829
+ nativeBarcodeExtendedElements.residenceStreetAddress2;
2830
+ this.securityVersion = nativeBarcodeExtendedElements.securityVersion;
2831
+ this.sex = nativeBarcodeExtendedElements.sex;
2832
+ this.socialSecurityNumber =
2833
+ nativeBarcodeExtendedElements.socialSecurityNumber;
2834
+ this.standardEndorsementCode =
2835
+ nativeBarcodeExtendedElements.standardEndorsementCode;
2836
+ this.standardRestrictionCode =
2837
+ nativeBarcodeExtendedElements.standardRestrictionCode;
2838
+ this.standardVehicleClassification =
2839
+ nativeBarcodeExtendedElements.standardVehicleClassification;
2840
+ this.standardVersionNumber =
2841
+ nativeBarcodeExtendedElements.standardVersionNumber;
2842
+ this.under18 = nativeBarcodeExtendedElements.under18;
2843
+ this.under19 = nativeBarcodeExtendedElements.under19;
2844
+ this.under21 = nativeBarcodeExtendedElements.under21;
2845
+ this.uniqueCustomerId = nativeBarcodeExtendedElements.uniqueCustomerId;
2846
+ this.veteran = nativeBarcodeExtendedElements.veteran;
2847
+ this.weightKilograms = nativeBarcodeExtendedElements.weightKilograms;
2848
+ this.weightPounds = nativeBarcodeExtendedElements.weightPounds;
2849
+ this.weightRange = nativeBarcodeExtendedElements.weightRange;
2850
+ }
2851
+ }
2852
+
2853
+ /**
2854
+ * Represents the mode of document scanning.
2855
+ *
2856
+ * This enum class defines whether the scanning process is limited to a single
2857
+ * side of the document or includes multiple sides, automatically identifying how many sides need to be scanned.
2858
+ */
2859
+ export enum ScanningMode {
2860
+ /**
2861
+ * Specifies the scanning process to be for single side only.
2862
+ *
2863
+ */
2864
+ Single = 0,
2865
+
2866
+ /**
2867
+ * The default `ScanningMode`.
2868
+ *
2869
+ * Automatically determines the number of sides to scan.
2870
+ */
2871
+ Automatic = 1,
2872
+ }
2873
+
2874
+ /**
2875
+ * Represents the type of the alphabet used in the document.
2876
+ *
2877
+ */
2878
+ export enum AlphabetType {
2879
+ /**
2880
+ * The Latin alphabet type
2881
+ *
2882
+ */
2883
+ Latin = 'latin',
2884
+
2885
+ /**
2886
+ * The Arabic alphabet type
2887
+ *
2888
+ */
2889
+ Arabic = 'arabic',
2890
+
2891
+ /**
2892
+ * The Cyrillic alphabet type
2893
+ *
2894
+ */
2895
+ Cyrillic = 'cyrillic',
2896
+
2897
+ /**
2898
+ * The Greek alphabet type
2899
+ *
2900
+ */
2901
+ Greek = 'greek',
2902
+ }
2903
+
2904
+ /**
2905
+ * Represents the different levels of detection sensitivity.
2906
+ *
2907
+ * This enum class is used to configure detection thresholds and enable or
2908
+ * disable detection functionality.
2909
+ *
2910
+ * The levels range from turning detection
2911
+ * off completely to setting various levels of sensitivity (`Low`, `Mid`, `High`).
2912
+ */
2913
+ export enum DetectionLevel {
2914
+ /**
2915
+ * Disables the `DetectionLevel`
2916
+ *
2917
+ */
2918
+ Off = 0,
2919
+
2920
+ /**
2921
+ * Sets the `DetectionLevel` to be less sensitive.
2922
+ *
2923
+ */
2924
+ Low = 1,
2925
+
2926
+ /**
2927
+ * The default `DetectionLevel` sensitivity.
2928
+ *
2929
+ */
2930
+ Mid = 2,
2931
+
2932
+ /**
2933
+ * Sets the `DetectionLevel` to be highly sensitive.
2934
+ *
2935
+ */
2936
+ High = 3,
2937
+ }
2938
+
2939
+ /**
2940
+ * Represents level of anonymization performed on the scanning result.
2941
+ *
2942
+ */
2943
+ export enum AnonymizationMode {
2944
+ /**
2945
+ * Anonymization will not be performed.
2946
+ *
2947
+ */
2948
+ None = "none",
2949
+
2950
+ /**
2951
+ * Full document image is anonymized with black boxes covering sensitive data.
2952
+ *
2953
+ */
2954
+ ImageOnly = "imageOnly",
2955
+
2956
+ /**
2957
+ * Result fields containing sensitive data are removed from result.
2958
+ *
2959
+ */
2960
+ ResultFieldsOnly = "resultFieldsOnly",
2961
+
2962
+ /**
2963
+ * This mode is combination of `imageOnly` and `resultFieldsOnly` modes.
2964
+ *
2965
+ */
2966
+ FullResult = "fullResult",
2967
+ }
2968
+
2969
+ /**
2970
+ * Represents possible recognition modes.
2971
+ *
2972
+ */
2973
+ export const enum RecognitionMode {
2974
+ /**
2975
+ * No recognition performed.
2976
+ *
2977
+ */
2978
+ None = 'none',
2979
+
2980
+ /**
2981
+ * Recognition of mrz document (does not include visa and passport).
2982
+ *
2983
+ */
2984
+ MrzId = 'mrzId',
2985
+
2986
+ /**
2987
+ * Recognition of visa mrz.
2988
+ *
2989
+ */
2990
+ MrzVisa = 'mrzVisa',
2991
+
2992
+ /**
2993
+ * Recognition of passport mrz.
2994
+ *
2995
+ */
2996
+
2997
+ MrzPassport = 'mrzPassport',
2998
+
2999
+ /*
3000
+ * Recognition of documents that have face photo on the front.
3001
+ *
3002
+ */
3003
+ PhotoId = 'photoId',
3004
+
3005
+ /**
3006
+ * Detailed document recognition.
3007
+ *
3008
+ */
3009
+ FullRecognition = 'fullRecognition',
3010
+
3011
+ /**
3012
+ * Recognition of barcode document.
3013
+ *
3014
+ */
3015
+ BarcodeId = 'barcodeId',
3016
+ }
3017
+
3018
+ /**
3019
+ * Define document side where the document field is located.
3020
+ *
3021
+ */
3022
+ export enum DocumentSide {
3023
+ /**
3024
+ * The field is located on the front side of the document
3025
+ *
3026
+ */
3027
+ Front = 0,
3028
+
3029
+ /**
3030
+ * The field is located on the back side of the document
3031
+ *
3032
+ */
3033
+ Back = 1,
3034
+ }
3035
+
3036
+ /**
3037
+ * Represents the type of scanned barcode
3038
+ *
3039
+ */
3040
+ export enum BarcodeType {
3041
+ /**
3042
+ * No barcode was scanned
3043
+ *
3044
+ */
3045
+ None = 0,
3046
+
3047
+ /**
3048
+ * QR code was scanned
3049
+ *
3050
+ */
3051
+ QrCode = 1,
3052
+
3053
+ /**
3054
+ * Data Matrix 2D barcode was scanned
3055
+ *
3056
+ */
3057
+ DataMatrix = 2,
3058
+
3059
+ /**
3060
+ * UPC E barcode was scanned
3061
+ *
3062
+ */
3063
+ Upce = 3,
3064
+
3065
+ /**
3066
+ * UPC A barcode was scanned
3067
+ *
3068
+ */
3069
+ Upca = 4,
3070
+
3071
+ /**
3072
+ * EAN 8 barcode was scanned
3073
+ *
3074
+ */
3075
+ Ean8 = 5,
3076
+
3077
+ /**
3078
+ * EAN 13 barcode was scanned
3079
+ *
3080
+ */
3081
+ Ean13 = 6,
3082
+
3083
+ /**
3084
+ * Code 128 barcode was scanned
3085
+ *
3086
+ */
3087
+ Code128 = 7,
3088
+
3089
+ /**
3090
+ * Code 39 barcode was scanned
3091
+ *
3092
+ */
3093
+ Code39 = 8,
3094
+
3095
+ /**
3096
+ * ITF barcode was scanned
3097
+ *
3098
+ */
3099
+ Itf = 9,
3100
+
3101
+ /**
3102
+ * Aztec 2D barcode was scanned
3103
+ *
3104
+ */
3105
+ Aztec = 10,
3106
+
3107
+ /**
3108
+ * PDF417 2D barcode was scanned
3109
+ *
3110
+ */
3111
+ Pdf417 = 11,
3112
+ }
3113
+
3114
+ /**
3115
+ * Represents the document type found on the Machine Readable Zone
3116
+ *
3117
+ */
3118
+ export enum MRZDocumentType {
3119
+ /**
3120
+ * Document type was not identified.
3121
+ *
3122
+ */
3123
+ Unknown = 0,
3124
+
3125
+ /**
3126
+ * Identity card
3127
+ *
3128
+ */
3129
+ IdentityCard = 1,
3130
+
3131
+ /**
3132
+ * Passport
3133
+ *
3134
+ */
3135
+ Passport = 2,
3136
+
3137
+ /**
3138
+ * VISA
3139
+ *
3140
+ */
3141
+ Visa = 3,
3142
+
3143
+ /**
3144
+ * Green card
3145
+ *
3146
+ */
3147
+ GreenCard = 4,
3148
+
3149
+ /**
3150
+ * IIM13P Pass
3151
+ *
3152
+ */
3153
+ MysPassIMM13P = 5,
3154
+
3155
+ /**
3156
+ * Driver license
3157
+ *
3158
+ */
3159
+ DriverLicense = 6,
3160
+
3161
+ /**
3162
+ * Internal travel document
3163
+ *
3164
+ */
3165
+ InternalTravelDocument = 7,
3166
+
3167
+ /**
3168
+ * Border crossing card
3169
+ *
3170
+ */
3171
+ BorderCrossingCard = 8,
3172
+ }
3173
+
3174
+ /**
3175
+ * Represents the side of the document being scanned.
3176
+ *
3177
+ */
3178
+ enum ScanningSide {
3179
+ /**
3180
+ * The first side of the scanned document
3181
+ *
3182
+ */
3183
+ First = 0,
3184
+
3185
+ /**
3186
+ * The second side of the scanned document
3187
+ *
3188
+ */
3189
+ Second = 1,
3190
+ }
3191
+
3192
+ /**
3193
+ * Represents the type of the field used in data match.
3194
+ *
3195
+ */
3196
+ export enum DataMatchField {
3197
+ /**
3198
+ * The date of birth field.
3199
+ *
3200
+ */
3201
+ DateOfBirth = 0,
3202
+
3203
+ /**
3204
+ * The date of expiry field.
3205
+ *
3206
+ */
3207
+ DateOfExpiry = 1,
3208
+
3209
+ /**
3210
+ * The document number field.
3211
+ *
3212
+ */
3213
+ DocumentNumber = 2,
3214
+
3215
+ /**
3216
+ * The document additional number field.
3217
+ *
3218
+ */
3219
+ DocumentAdditionalNumber = 3,
3220
+
3221
+ /**
3222
+ * The document optional additional number field.
3223
+ *
3224
+ */
3225
+ DocumentOptionalAdditionalNumber = 4,
3226
+
3227
+ /**
3228
+ * The personal ID number field.
3229
+ *
3230
+ */
3231
+
3232
+ PersonalIdNumber = 5,
3233
+ }
3234
+
3235
+ /**
3236
+ * Represents the state of the data match.
3237
+ *
3238
+ */
3239
+ export enum DataMatchState {
3240
+ /**
3241
+ * Data matching has not been performed.
3242
+ *
3243
+ */
3244
+ NotPerformed = 0,
3245
+
3246
+ /**
3247
+ * Data does not match.
3248
+ *
3249
+ */
3250
+ Failed = 1,
3251
+
3252
+ /**
3253
+ * Data does match.
3254
+ *
3255
+ */
3256
+ Success = 2,
3257
+ }
3258
+
3259
+
3260
+ /**
3261
+ * Document country.
3262
+ *
3263
+ */
3264
+ export enum Country {
3265
+ None = 'none',
3266
+
3267
+ Albania = 'albania',
3268
+
3269
+ Algeria = 'algeria',
3270
+
3271
+ Argentina = 'argentina',
3272
+
3273
+ Australia = 'australia',
3274
+
3275
+ Austria = 'austria',
3276
+
3277
+ Azerbaijan = 'azerbaijan',
3278
+
3279
+ Bahrain = 'bahrain',
3280
+
3281
+ Bangladesh = 'bangladesh',
3282
+
3283
+ Belgium = 'belgium',
3284
+
3285
+ BosniaAndHerzegovina = 'bosniaAndHerzegovina',
3286
+
3287
+ Brunei = 'brunei',
3288
+
3289
+ Bulgaria = 'bulgaria',
3290
+
3291
+ Bambodia = 'bambodia',
3292
+
3293
+ Canada = 'canada',
3294
+
3295
+ Chile = 'chile',
3296
+
3297
+ Colombia = 'colombia',
3298
+
3299
+ CostaRica = 'costaRica',
3300
+
3301
+ Croatia = 'croatia',
3302
+
3303
+ Cyprus = 'cyprus',
3304
+
3305
+ Czechia = 'czechia',
3306
+
3307
+ Denmark = 'denmark',
3308
+
3309
+ DominicanRepublic = 'dominicanRepublic',
3310
+
3311
+ Egypt = 'egypt',
3312
+
3313
+ Estonia = 'estonia',
3314
+
3315
+ Finland = 'finland',
3316
+
3317
+ France = 'france',
3318
+
3319
+ Georgia = 'georgia',
3320
+
3321
+ Germany = 'germany',
3322
+
3323
+ Ghana = 'ghana',
3324
+
3325
+ Greece = 'greece',
3326
+
3327
+ Guatemala = 'guatemala',
3328
+
3329
+ HongKong = 'hongKong',
3330
+
3331
+ Hungary = 'hungary',
3332
+
3333
+ India = 'india',
3334
+
3335
+ Indonesia = 'indonesia',
3336
+
3337
+ Ireland = 'ireland',
3338
+
3339
+ Israel = 'israel',
3340
+
3341
+ Italy = 'italy',
3342
+
3343
+ Jordan = 'jordan',
3344
+
3345
+ Kazakhstan = 'kazakhstan',
3346
+
3347
+ Kenya = 'kenya',
3348
+
3349
+ Kosovo = 'kosovo',
3350
+
3351
+ Kuwait = 'kuwait',
3352
+
3353
+ Latvia = 'latvia',
3354
+
3355
+ Lithuania = 'lithuania',
3356
+
3357
+ Malaysia = 'malaysia',
3358
+
3359
+ Maldives = 'maldives',
3360
+
3361
+ Malta = 'malta',
3362
+
3363
+ Mauritius = 'mauritius',
3364
+
3365
+ Mexico = 'mexico',
3366
+
3367
+ Morocco = 'morocco',
3368
+
3369
+ Netherlands = 'netherlands',
3370
+
3371
+ NewZealand = 'newZealand',
3372
+
3373
+ Nigeria = 'nigeria',
3374
+
3375
+ Pakistan = 'pakistan',
3376
+
3377
+ Panama = 'panama',
3378
+
3379
+ Paraguay = 'paraguay',
3380
+
3381
+ Philippines = 'philippines',
3382
+
3383
+ Poland = 'poland',
3384
+
3385
+ Portugal = 'portugal',
3386
+
3387
+ PuertoRico = 'puertoRico',
3388
+
3389
+ Qatar = 'qatar',
3390
+
3391
+ Romania = 'romania',
3392
+
3393
+ Russia = 'russia',
3394
+
3395
+ SaudiArabia = 'saudiArabia',
3396
+
3397
+ Serbia = 'serbia',
3398
+
3399
+ Singapore = 'singapore',
3400
+
3401
+ Slovakia = 'slovakia',
3402
+
3403
+ Slovenia = 'slovenia',
3404
+
3405
+ SouthAfrica = 'southAfrica',
3406
+
3407
+ Spain = 'spain',
3408
+
3409
+ Sweden = 'sweden',
3410
+
3411
+ Switzerland = 'switzerland',
3412
+
3413
+ Taiwan = 'taiwan',
3414
+
3415
+ Thailand = 'thailand',
3416
+
3417
+ Tunisia = 'tunisia',
3418
+
3419
+ Turkey = 'turkey',
3420
+
3421
+ UAE = 'uae',
3422
+
3423
+ Ganda = 'gganda',
3424
+
3425
+ UK = 'uk',
3426
+
3427
+ Ukraine = 'ukraine',
3428
+
3429
+ USA = 'usa',
3430
+
3431
+ Vietnam = 'vietnam',
3432
+
3433
+ Brazil = 'brazil',
3434
+
3435
+ Norway = 'norway',
3436
+
3437
+ Oman = 'oman',
3438
+
3439
+ Ecuador = 'ecuador',
3440
+
3441
+ ElSalvador = 'elSalvador',
3442
+
3443
+ SriLanka = 'sriLanka',
3444
+
3445
+ Peru = 'peru',
3446
+
3447
+ Uruguay = 'uruguay',
3448
+
3449
+ Bahamas = 'bahamas',
3450
+
3451
+ Bermuda = 'bermuda',
3452
+
3453
+ Bolivia = 'bolivia',
3454
+
3455
+ China = 'china',
3456
+
3457
+ EuropeanUnion = 'europeanUnion',
3458
+
3459
+ Haiti = 'haiti',
3460
+
3461
+ Honduras = 'honduras',
3462
+
3463
+ Iceland = 'iceland',
3464
+
3465
+ Japan = 'japan',
3466
+
3467
+ Luxembourg = 'luxembourg',
3468
+
3469
+ Montenegro = 'montenegro',
3470
+
3471
+ Nicaragua = 'nicaragua',
3472
+
3473
+ SouthKorea = 'southKorea',
3474
+
3475
+ Venezuela = 'venezuela',
3476
+
3477
+ Afghanistan = 'afghanistan',
3478
+
3479
+ AlandIslands = 'alandIslands',
3480
+
3481
+ AmericanSamoa = 'americanSamoa',
3482
+
3483
+ Andorra = 'andorra',
3484
+
3485
+ Angola = 'angola',
3486
+
3487
+ Anguilla = 'anguilla',
3488
+
3489
+ Antartica = 'antarctica',
3490
+
3491
+ AntiguaAndBarbuda = 'antiguaAndBarbuda',
3492
+
3493
+ Armenia = 'armenia',
3494
+
3495
+ Aruba = 'aruba',
3496
+
3497
+ BailiwickOfGuernsey = 'bailiwickOfGuernsey',
3498
+
3499
+ BailiwickOfJersey = 'bailiwickOfJersey',
3500
+
3501
+ Barbados = 'barbados',
3502
+
3503
+ Belarus = 'belarus',
3504
+
3505
+ Belize = 'belize',
3506
+
3507
+ Benin = 'benin',
3508
+
3509
+ Bhutan = 'bhutan',
3510
+
3511
+ BonaireSaintEustatiusAndSaba = 'bonaireSaintEustatiusAndSaba',
3512
+
3513
+ Botswana = 'botswana',
3514
+
3515
+ BouvetIsland = 'bouvetIsland',
3516
+
3517
+ BritishIndianOceanTerritory = 'britishIndianOceanTerritory',
3518
+
3519
+ BurkinaFaso = 'burkinaFaso',
3520
+
3521
+ Burundi = 'burundi',
3522
+
3523
+ Cameroon = 'cameroon',
3524
+
3525
+ CapeVerde = 'capeVerde',
3526
+
3527
+ CaribbeanNetherlands = 'caribbeanNetherlands',
3528
+
3529
+ CaymanIslands = 'caymanIslands',
3530
+
3531
+ CentralAfricanRepublic = 'centralAfricanRepublic',
3532
+
3533
+ Chad = 'chad',
3534
+
3535
+ ChristmasIsland = 'christmasIsland',
3536
+
3537
+ CocosIslands = 'cocosIslands',
3538
+
3539
+ Comoros = 'comoros',
3540
+
3541
+ Congo = 'congo',
3542
+
3543
+ CookIslands = 'cookIslands',
3544
+
3545
+ Cuba = 'cuba',
3546
+
3547
+ Curacao = 'curacao',
3548
+
3549
+ DemocraticRepublicOfTheCongo = 'democraticRepublicOfTheCongo',
3550
+
3551
+ Djibouti = 'djibouti',
3552
+
3553
+ Dominica = 'dominica',
3554
+
3555
+ EastTimor = 'eastTimor',
3556
+
3557
+ EquatorialGuinea = 'equatorialGuinea',
3558
+
3559
+ Eritrea = 'eritrea',
3560
+
3561
+ Ethiopia = 'ethiopia',
3562
+
3563
+ FalklandIslands = 'falklandIslands',
3564
+
3565
+ FaroeIslands = 'faroeIslands',
3566
+
3567
+ FederatedStatesOfMicronesia = 'federatedStatesOfMicronesia',
3568
+
3569
+ Fiji = 'fiji',
3570
+
3571
+ FrenchGuiana = 'frenchGuiana',
3572
+
3573
+ FrenchPolynesia = 'frenchPolynesia',
3574
+
3575
+ FrenchSouthernTerritories = 'frenchSouthernTerritories',
3576
+
3577
+ Gabon = 'gabon',
3578
+
3579
+ Gambia = 'gambia',
3580
+
3581
+ Gibraltar = 'gibraltar',
3582
+
3583
+ Greenland = 'greenland',
3584
+
3585
+ Grenada = 'grenada',
3586
+
3587
+ Guadeloupe = 'guadeloupe',
3588
+
3589
+ Guam = 'guam',
3590
+
3591
+ Guinea = 'guinea',
3592
+
3593
+ GuineaBissau = 'guineaBissau',
3594
+
3595
+ Guyana = 'guyana',
3596
+
3597
+ HeardIslandAndMcdonaldIslands = 'heardIslandAndMcdonaldIslands',
3598
+
3599
+ Iran = 'iran',
3600
+
3601
+ Iraq = 'iraq',
3602
+
3603
+ IsleOfMan = 'isleOfMan',
3604
+
3605
+ IvoryCoast = 'ivoryCoast',
3606
+
3607
+ Jamaica = 'jamaica',
3608
+
3609
+ Kiribati = 'kiribati',
3610
+
3611
+ Kyrgyzstan = 'kyrgyzstan',
3612
+
3613
+ Laos = 'laos',
3614
+
3615
+ Lebanon = 'lebanon',
3616
+
3617
+ Lesotho = 'lesotho',
3618
+
3619
+ Liberia = 'liberia',
3620
+
3621
+ Libya = 'libya',
3622
+
3623
+ Liechtenstein = 'liechtenstein',
3624
+
3625
+ Macau = 'macau',
3626
+
3627
+ Madagascar = 'madagascar',
3628
+
3629
+ Malawi = 'malawi',
3630
+
3631
+ Mali = 'mali',
3632
+
3633
+ MarshallIslands = 'marshallIslands',
3634
+
3635
+ Martinique = 'martinique',
3636
+
3637
+ Mauritania = 'mauritania',
3638
+
3639
+ Mayotte = 'mayotte',
3640
+
3641
+ Moldova = 'moldova',
3642
+
3643
+ Monaco = 'monaco',
3644
+
3645
+ Mongolia = 'mongolia',
3646
+
3647
+ Montserrat = 'montserrat',
3648
+
3649
+ Mozambique = 'mozambique',
3650
+
3651
+ Myanmar = 'myanmar',
3652
+
3653
+ Namibia = 'namibia',
3654
+
3655
+ Nauru = 'nauru',
3656
+
3657
+ Nepal = 'nepal',
3658
+
3659
+ NewCaledonia = 'newCaledonia',
3660
+
3661
+ Niger = 'niger',
3662
+
3663
+ Niue = 'niue',
3664
+
3665
+ NorfolkIsland = 'norfolkIsland',
3666
+
3667
+ NorthernCyprus = 'northernCyprus',
3668
+
3669
+ NorthernMarianaIslands = 'northernMarianaIslands',
3670
+
3671
+ NorthKorea = 'northKorea',
3672
+
3673
+ NorthMacedonia = 'northMacedonia',
3674
+
3675
+ Palau = 'palau',
3676
+
3677
+ Palestine = 'palestine',
3678
+
3679
+ PapuaNewGuinea = 'papuaNewGuinea',
3680
+
3681
+ Pitcairn = 'pitcairn',
3682
+
3683
+ Reunion = 'reunion',
3684
+
3685
+ Rwanda = 'rwanda',
3686
+
3687
+ SaintBarthelemy = 'saintBarthelemy',
3688
+
3689
+ SaintHelenaAscensionAndTristianDaCunha = 'saintHelenaAscensionAndTristianDaCunha',
3690
+
3691
+ SaintKittsAndNevis = 'saintKittsAndNevis',
3692
+
3693
+ SaintLucia = 'saintLucia',
3694
+
3695
+ SaintMartin = 'saintMartin',
3696
+
3697
+ SaintPierreAndMiquelon = 'saintPierreAndMiquelon',
3698
+
3699
+ SaintVincentAndTheGrenadines = 'saintVincentAndTheGrenadines',
3700
+
3701
+ Samoa = 'samoa',
3702
+
3703
+ SanMarino = 'sanMarino',
3704
+
3705
+ SaoTomeAndPrincipe = 'saoTomeAndPrincipe',
3706
+
3707
+ Senegal = 'senegal',
3708
+
3709
+ Seychelles = 'seychelles',
3710
+
3711
+ SierraLeone = 'sierraLeone',
3712
+
3713
+ SintMaarten = 'sintMaarten',
3714
+
3715
+ SolomonIslands = 'solomonIslands',
3716
+
3717
+ Somalia = 'somalia',
3718
+
3719
+ SouthGeorgiaAndTheSouthSandwichIslands = 'southGeorgiaAndTheSouthSandwichIslands',
3720
+
3721
+ SouthSudan = 'southSudan',
3722
+
3723
+ Sudan = 'sudan',
3724
+
3725
+ Suriname = 'suriname',
3726
+
3727
+ SvalbardAndJanMayen = 'svalbardAndJanMayen',
3728
+
3729
+ Eswatini = 'eswatini',
3730
+
3731
+ Syria = 'syria',
3732
+
3733
+ Tajikistan = 'tajikistan',
3734
+
3735
+ Tanzania = 'tanzania',
3736
+
3737
+ Togo = 'togo',
3738
+
3739
+ Tokelau = 'tokelau',
3740
+
3741
+ Tonga = 'tonga',
3742
+
3743
+ TrinidadAndTobago = 'trinidadAndTobago',
3744
+
3745
+ Turkmenistan = 'turkmenistan',
3746
+
3747
+ TurksAndCaicosIslands = 'turksAndCaicosIslands',
3748
+
3749
+ Tuvalu = 'tuvalu',
3750
+
3751
+ UnitedStatesMinorOutlyingIslands = 'unitedStatesMinorOutlyingIslands',
3752
+
3753
+ Uzbekistan = 'uzbekistan',
3754
+
3755
+ Vanuatu = 'vanuatu',
3756
+
3757
+ VaticanCity = 'vaticanCity',
3758
+
3759
+ VirginIslandsBritish = 'virginIslandsBritish',
3760
+
3761
+ VirginIslandsUs = 'virginIslandsUs',
3762
+
3763
+ WallisAndFutuna = 'wallisAndFutuna',
3764
+
3765
+ WesternSahara = 'westernSahara',
3766
+
3767
+ Yemen = 'yemen',
3768
+
3769
+ Yugoslavia = 'yugoslavia',
3770
+
3771
+ Zambia = 'zambia',
3772
+
3773
+ Zimbabwe = 'zimbabwe',
3774
+
3775
+ SchengenArea = 'schengenArea',
3776
+ }
3777
+ /**
3778
+ * Document region.
3779
+ */
3780
+ export enum Region {
3781
+ None = 'none',
3782
+
3783
+ Alabama = 'alabama',
3784
+
3785
+ Alaska = 'alaska',
3786
+
3787
+ Alberta = 'alberta',
3788
+
3789
+ Arizona = 'arizona',
3790
+
3791
+ Arkansas = 'arkansas',
3792
+
3793
+ AustralianCapitalTerritory = 'australianCapitalTerritory',
3794
+
3795
+ BritishColumbia = 'britishColumbia',
3796
+
3797
+ California = 'california',
3798
+
3799
+ Colorado = 'colorado',
3800
+
3801
+ Connecticut = 'connecticut',
3802
+
3803
+ Delaware = 'delaware',
3804
+
3805
+ DistrictOfColumbia = 'districtOfColumbia',
3806
+
3807
+ Florida = 'florida',
3808
+
3809
+ Georgia = 'georgia',
3810
+
3811
+ Hawaii = 'hawaii',
3812
+
3813
+ Idaho = 'idaho',
3814
+
3815
+ Illinois = 'illinois',
3816
+
3817
+ Indiana = 'indiana',
3818
+
3819
+ Iowa = 'iowa',
3820
+
3821
+ Kansas = 'kansas',
3822
+
3823
+ Kentucky = 'kentucky',
3824
+
3825
+ Louisiana = 'louisiana',
3826
+
3827
+ Maine = 'maine',
3828
+
3829
+ Manitoba = 'manitoba',
3830
+
3831
+ Maryland = 'maryland',
3832
+
3833
+ Massachusetts = 'massachusetts',
3834
+
3835
+ Michigan = 'michigan',
3836
+
3837
+ Minnesota = 'minnesota',
3838
+
3839
+ Mississippi = 'mississippi',
3840
+
3841
+ Missouri = 'missouri',
3842
+
3843
+ Montana = 'montana',
3844
+
3845
+ Nebraska = 'nebraska',
3846
+
3847
+ Nevada = 'nevada',
3848
+
3849
+ NewBrunswick = 'newBrunswick',
3850
+
3851
+ NewHampshire = 'newHampshire',
3852
+
3853
+ NewJersey = 'newJersey',
3854
+
3855
+ NewMexico = 'newMexico',
3856
+
3857
+ NewSouthWales = 'newSouthWales',
3858
+
3859
+ NewYork = 'newYork',
3860
+
3861
+ NorthernTerritory = 'northernTerritory',
3862
+
3863
+ NorthCarolina = 'northCarolina',
3864
+
3865
+ NorthDakota = 'northDakota',
3866
+
3867
+ NovaScotia = 'novaScotia',
3868
+
3869
+ Ohio = 'ohio',
3870
+
3871
+ Oklahoma = 'oklahoma',
3872
+
3873
+ Ontario = 'ontario',
3874
+
3875
+ Oregon = 'oregon',
3876
+
3877
+ Pennsylvania = 'pennsylvania',
3878
+
3879
+ Quebec = 'quebec',
3880
+
3881
+ Queensland = 'queensland',
3882
+
3883
+ RhodeIsland = 'rhodeIsland',
3884
+
3885
+ Saskatchewan = 'saskatchewan',
3886
+
3887
+ SouthAustralia = 'southAustralia',
3888
+
3889
+ SouthCarolina = 'southCarolina',
3890
+
3891
+ SouthDakota = 'southDakota',
3892
+
3893
+ Tasmania = 'tasmania',
3894
+
3895
+ Tennessee = 'tennessee',
3896
+
3897
+ Texas = 'texas',
3898
+
3899
+ Utah = 'utah',
3900
+
3901
+ Vermont = 'vermont',
3902
+
3903
+ Victoria = 'victoria',
3904
+
3905
+ Virginia = 'virginia',
3906
+
3907
+ Washington = 'washington',
3908
+
3909
+ WesternAustralia = 'westernAustralia',
3910
+
3911
+ WestVirginia = 'westVirginia',
3912
+
3913
+ Wisconsin = 'wisconsin',
3914
+
3915
+ Wyoming = 'wyoming',
3916
+
3917
+ Yukon = 'yukon',
3918
+
3919
+ CiudadDeMexico = 'ciudadDeMexico',
3920
+
3921
+ Jalisco = 'jalisco',
3922
+
3923
+ NewfoundlandAndLabrador = 'newfoundlandAndLabrador',
3924
+
3925
+ NuevoLeon = 'nuevoLeon',
3926
+
3927
+ BajaCalifornia = 'bajaCalifornia',
3928
+
3929
+ Chihuahua = 'chihuahua',
3930
+
3931
+ Guanajuato = 'guanajuato',
3932
+
3933
+ Guerrero = 'guerrero',
3934
+
3935
+ Mexico = 'mexico',
3936
+
3937
+ Michoacan = 'michoacan',
3938
+
3939
+ NewYorkCity = 'newYorkCity',
3940
+
3941
+ Tamaulipas = 'tamaulipas',
3942
+
3943
+ Veracruz = 'veracruz',
3944
+
3945
+ Chiapas = 'chiapas',
3946
+
3947
+ Coahuila = 'coahuila',
3948
+
3949
+ Durago = 'durango',
3950
+
3951
+ GuerreroCocula = 'guerreroCocula',
3952
+
3953
+ GuerreroJuchitan = 'guerreroJuchitan',
3954
+
3955
+ GuerreroTepecoacuilco = 'guerreroTepecoacuilco',
3956
+
3957
+ GuerreroTlacoapa = 'guerreroTlacoapa',
3958
+
3959
+ Gujarat = 'gujarat',
3960
+
3961
+ Hidalgo = 'hidalgo',
3962
+
3963
+ Karnataka = 'karnataka',
3964
+
3965
+ Kerala = 'kerala',
3966
+
3967
+ KhyberPakhtunkhwa = 'khyberPakhtunkhwa',
3968
+
3969
+ MadhyaPradesh = 'madhyaPradesh',
3970
+
3971
+ Maharashtra = 'maharashtra',
3972
+
3973
+ Morelos = 'morelos',
3974
+
3975
+ Nayarit = 'nayarit',
3976
+
3977
+ Oaxaca = 'oaxaca',
3978
+
3979
+ Puebla = 'puebla',
3980
+
3981
+ Punjab = 'punjab',
3982
+
3983
+ Queretaro = 'queretaro',
3984
+
3985
+ SanLuisPotosi = 'sanLuisPotosi',
3986
+
3987
+ Sinaloa = 'sinaloa',
3988
+
3989
+ Sonora = 'sonora',
3990
+
3991
+ Tabasco = 'tabasco',
3992
+
3993
+ TamilNadu = 'tamilNadu',
3994
+
3995
+ Yucatan = 'yucatan',
3996
+
3997
+ Zacatecas = 'zacatecas',
3998
+
3999
+ Aguascalientes = 'aguascalientes',
4000
+
4001
+ BajaCaliforniaSur = 'bajaCaliforniaSur',
4002
+
4003
+ Campeche = 'campeche',
4004
+
4005
+ Colima = 'colima',
4006
+
4007
+ QuintanaRooBenitoJuarez = 'quintanaRooBenitoJuarez',
4008
+
4009
+ QuintanaRoo = 'quintanaRoo',
4010
+
4011
+ QuintanaRooSolidaridad = 'quintanaRooSolidaridad',
4012
+
4013
+ Tlaxcala = 'tlaxcala',
4014
+
4015
+ QuintanaRooCozumel = 'quintanaRooCozumel',
4016
+
4017
+ SanPaolo = 'saoPaolo',
4018
+
4019
+ RioDeJaniero = 'rioDeJaneiro',
4020
+
4021
+ RioGrandeDoSul = 'rioGrandeDoSul',
4022
+
4023
+ NorthWestTerritories = 'northWestTerritories',
4024
+
4025
+ Nunavut = 'nunavut',
4026
+
4027
+ PrinceEdwardIsland = 'princeEdwardIsland',
4028
+
4029
+ DistritoFederal = 'distritoFederal',
4030
+
4031
+ Maranhao = 'maranhao',
4032
+
4033
+ MatoGrosso = 'matoGrosso',
4034
+
4035
+ MinasGerais = 'minasGerais',
4036
+
4037
+ Para = 'para',
4038
+
4039
+ Parana = 'parana',
4040
+
4041
+ Pernambuco = 'pernambuco',
4042
+
4043
+ SantaCatarina = 'santaCatarina',
4044
+
4045
+ AndhraPradesh = 'andhraPradesh',
4046
+
4047
+ Ceara = 'ceara',
4048
+
4049
+ Goias = 'goias',
4050
+
4051
+ GuerreroAcapulcoDeJuarez = 'guerreroAcapulcoDeJuarez',
4052
+
4053
+ Haryana = 'haryana',
4054
+
4055
+ Sergipe = 'sergipe',
4056
+
4057
+ Alagos = 'alagos',
4058
+
4059
+ Bangsamoro = 'bangsamoro',
4060
+ }
4061
+
4062
+ /**
4063
+ * Document type.
4064
+ *
4065
+ */
4066
+ export enum DocumentType {
4067
+ None = 'none',
4068
+
4069
+ ConsularId = 'consularId',
4070
+
4071
+ Dl = 'dl',
4072
+
4073
+ DlPublicServicesCard = 'dlPublicServicesCard',
4074
+
4075
+ EmploymentPass = 'employmentPass',
4076
+
4077
+ FinCard = 'finCard',
4078
+
4079
+ Id = 'id',
4080
+
4081
+ MultipurposeId = 'multipurposeId',
4082
+
4083
+ MyKad = 'myKad',
4084
+
4085
+ MyKid = 'myKid',
4086
+
4087
+ MyPr = 'myPR',
4088
+
4089
+ MyTentera = 'myTentera',
4090
+
4091
+ PanCard = 'panCard',
4092
+
4093
+ ProfessionalId = 'professionalId',
4094
+
4095
+ PublicServicesCard = 'publicServicesCard',
4096
+
4097
+ ResidencePermit = 'residencePermit',
4098
+
4099
+ ResidentId = 'residentId',
4100
+
4101
+ TemporaryResidencePermit = 'temporaryResidencePermit',
4102
+
4103
+ VoterId = 'voterId',
4104
+
4105
+ WorkPermit = 'workPermit',
4106
+
4107
+ IKad = 'iKad',
4108
+
4109
+ MilitaryId = 'militaryId',
4110
+
4111
+ MyKas = 'myKas',
4112
+
4113
+ DocialSecurityCard = 'docialSecurityCard',
4114
+
4115
+ HealthInsuranceCard = 'healthInsuranceCard',
4116
+
4117
+ Passport = 'passport',
4118
+
4119
+ SPass = 'sPass',
4120
+
4121
+ AddressCard = 'addressCard',
4122
+
4123
+ AlienId = 'alienId',
4124
+
4125
+ AlienPassport = 'alienPassport',
4126
+
4127
+ GreenCard = 'greenCard',
4128
+
4129
+ MinorsId = 'minorsId',
4130
+
4131
+ PostalId = 'postalId',
4132
+
4133
+ ProfessionalDl = 'professionalDl',
4134
+
4135
+ TaxId = 'taxId',
4136
+
4137
+ WeaponPermit = 'weaponPermit',
4138
+
4139
+ Visa = 'visa',
4140
+
4141
+ BorderCrossingCard = 'borderCrossingCard',
4142
+
4143
+ DriverCard = 'driverCard',
4144
+
4145
+ GlobalEntryCard = 'globalEntryCard',
4146
+
4147
+ MyPolis = 'mypolis',
4148
+
4149
+ NexusCard = 'nexusCard',
4150
+
4151
+ PassportCard = 'passportCard',
4152
+
4153
+ ProofOfAgeCard = 'proofOfAgeCard',
4154
+
4155
+ RefugeeId = 'refugeeId',
4156
+
4157
+ TribalId = 'tribalId',
4158
+
4159
+ VeteranId = 'veteranId',
4160
+
4161
+ CitizenshipCertificate = 'citizenshipCertificate',
4162
+
4163
+ MyNumberCard = 'myNumberCard',
4164
+
4165
+ ConsularPassport = 'consularPassport',
4166
+
4167
+ MinorsPassport = 'minorsPassport',
4168
+
4169
+ MinorsPublicServicesCard = 'minorsPublicServicesCard',
4170
+
4171
+ DrivingPriviligeCard = 'drivingPriviligeCard',
4172
+
4173
+ AsylumRequest = 'asylumRequest',
4174
+
4175
+ DriverQualificationCard = 'driverQualificationCard',
4176
+
4177
+ ProvisionalDl = 'provisionalDl',
4178
+
4179
+ RefugeePassport = 'refugeePassport',
4180
+
4181
+ SpecialId = 'specialId',
4182
+
4183
+ UniformedServicesId = 'uniformedServicesId',
4184
+
4185
+ ImmigrantVisa = 'immigrantVisa',
4186
+
4187
+ ConsularVoterId = 'consularVoterId',
4188
+
4189
+ TwicCard = 'twicCard',
4190
+
4191
+ ExitEntryPermit = 'exitEntryPermit',
4192
+
4193
+ MainlandTravelPermitTaiwan = 'mainlandTravelPermitTaiwan',
4194
+
4195
+ NbiClearance = 'nbiClearance',
4196
+
4197
+ ProofOfRegistration = 'proofOfRegistration',
4198
+
4199
+ TemporaryProtectionPermit = 'temporaryProtectionPermit',
4200
+
4201
+ AfghanCitizenCard = 'afghanCitizenCard',
4202
+
4203
+ EId = 'eId',
4204
+
4205
+ Pass = 'pass',
4206
+
4207
+ SisId = 'sisId',
4208
+
4209
+ AsicCard = 'asicCard',
4210
+
4211
+ BidoonCard = 'bidoonCard',
4212
+
4213
+ InterimHealthInsuranceCard = 'interimHealthInsuranceCard',
4214
+
4215
+ NonVoterId = 'nonVoterId',
4216
+
4217
+ ReciprocalHealthInsuranceCard = 'reciprocalHealthInsuranceCard',
4218
+
4219
+ VehicleRegistration = 'vehicleRegistration',
4220
+
4221
+ EsaadCard = 'esaadCard',
4222
+
4223
+ RegistrationCertificate = 'registrationCertificate',
4224
+
4225
+ MedicalMarijuanaId = 'medicalMarijuanaId',
4226
+ }
4227
+
4228
+ /**
4229
+ * Represents all possible field types that can be extracted from the document.
4230
+ *
4231
+ */
4232
+ export enum FieldType {
4233
+ AdditionalAddressInformation = 'additionalAddressInformation',
4234
+
4235
+ AdditionalNameInformation = 'additionalNameInformation',
4236
+
4237
+ AdditionalOptionalAddressInformation = 'additionalOptionalAddressInformation',
4238
+
4239
+ AdditionalPersonalIdNumber = 'additionalPersonalIdNumber',
4240
+
4241
+ Address = 'address',
4242
+
4243
+ ClassEffectiveDate = 'classEffectiveDate',
4244
+
4245
+ ClassExpiryDate = 'classExpiryDate',
4246
+
4247
+ Conditions = 'conditions',
4248
+
4249
+ DateOfBirth = 'dateOfBirth',
4250
+
4251
+ DateOfExpiry = 'dateOfExpiry',
4252
+
4253
+ DateOfIssue = 'dateOfIssue',
4254
+
4255
+ DocumentAdditionalNumber = 'documentAdditionalNumber',
4256
+
4257
+ DocumentOptionalAdditionalNumber = 'documentOptionalAdditionalNumber',
4258
+
4259
+ DocumentNumber = 'documentNumber',
4260
+
4261
+ Employer = 'employer',
4262
+
4263
+ Endorsements = 'endorsements',
4264
+
4265
+ FathersName = 'fathersName',
4266
+
4267
+ FirstName = 'firstName',
4268
+
4269
+ FullName = 'fullName',
4270
+
4271
+ IssuingAuthority = 'issuingAuthority',
4272
+
4273
+ LastName = 'lastName',
4274
+
4275
+ LicenseType = 'licenceType',
4276
+
4277
+ LocalizedName = 'localizedName',
4278
+
4279
+ MaritalStatus = 'maritalStatus',
4280
+
4281
+ MothersName = 'mothersName',
4282
+
4283
+ Mrz = 'mrz',
4284
+
4285
+ Nationality = 'nationality',
4286
+
4287
+ PersonalIdNumber = 'personalIdNumber',
4288
+
4289
+ PlaceOfBirth = 'placeOfBirth',
4290
+
4291
+ Profession = 'profession',
4292
+
4293
+ Race = 'race',
4294
+
4295
+ Religion = 'religion',
4296
+
4297
+ ResidentialStatus = 'residentialStatus',
4298
+
4299
+ Restriction = 'restrictions',
4300
+
4301
+ Sex = 'sex',
4302
+
4303
+ VehicleClass = 'vehicleClass',
4304
+
4305
+ BloodType = 'bloodType',
4306
+
4307
+ Sponsor = 'sponsor',
4308
+
4309
+ VisaType = 'visaType',
4310
+
4311
+ DocumentSubtype = 'documentSubtype',
4312
+
4313
+ Remarks = 'remarks',
4314
+
4315
+ ResidencePermitType = 'residencePermitType',
4316
+
4317
+ ManufacturingYear = 'manufacturingYear',
4318
+
4319
+ VehicleType = 'vehicleType',
4320
+
4321
+ DependentDateOfBirth = 'dependentDateOfBirth',
4322
+
4323
+ DependentSex = 'dependentSex',
4324
+
4325
+ DependentDocumentNumber = 'dependentDocumentNumber',
4326
+
4327
+ DependentFullName = 'dependentFullName',
4328
+
4329
+ EligibilityCategory = 'eligibilityCategory',
4330
+
4331
+ SpecificDocumentValidity = 'specificDocumentValidity',
4332
+
4333
+ VehnicleOwner = 'vehicleOwner',
4334
+ }