import type { QuadrilateralJSON } from "scandit-web-datacapture-core"; import type { ComparisonCheckResult, VizMrzComparisonCheckResult } from "./Enums"; export interface DateResultJSON { day: number | null; month: number | null; year: number; } export interface ProfessionalDrivingPermitJSON { dateOfExpiry: DateResultJSON; codes: string[]; } export interface VehicleRestrictionJSON { vehicleCode: string; vehicleRestriction: string; dateOfIssue: DateResultJSON; } export interface DrivingLicenseCategoryJSON { code: string; dateOfIssue: DateResultJSON | null; dateOfExpiry: DateResultJSON | null; } export interface DrivingLicenseDetailsJSON { drivingLicenseCategories: DrivingLicenseCategoryJSON[]; restrictions: string | null; endorsements: string | null; } export interface ImageInfoJSON { face: string | null; idFront: string | null; idBack: string | null; } interface CommonFieldsJSON { firstName: string | null; lastName: string | null; secondaryLastName: string | null; fullName: string; sex: string | null; nationality: string | null; address: string | null; issuingCountry: string | null; issuingCountryIso: string | null; documentNumber: string | null; documentAdditionalNumber: string | null; dateOfBirth: DateResultJSON | null; dateOfExpiry: DateResultJSON | null; dateOfIssue: DateResultJSON | null; documentType: string; } export interface CapturedIdJSON { firstName: string | null; lastName: string | null; secondaryLastName: string | null; fullName: string; sex: string | null; nationality: string | null; address: string | null; issuingCountry: string | null; issuingCountryIso: string | null; documentNumber: string | null; documentAdditionalNumber: string | null; dateOfBirth: DateResultJSON | null; age: number | null; dateOfExpiry: DateResultJSON | null; isExpired: boolean | null; dateOfIssue: DateResultJSON | null; documentType: string; capturedResultTypes: string[]; imageInfo: ImageInfoJSON | null; idVerificationDataComparisonAvailable: boolean; aamvaBarcodeResult: AAMVABarcodeResultJSON | null; apecBusinessTravelCardMrzResult: ApecBusinessTravelCardMrzResultJSON | null; argentinaIdBarcodeResult: ArgentinaIdBarcodeResultJSON | null; chinaMainlandTravelPermitMrzResult: ChinaMainlandTravelPermitMrzResultJSON | null; chinaExitEntryPermitMrzResult: ChinaExitEntryPermitMrzResultJSON | null; chinaOneWayPermitFrontMrzResult: ChinaOneWayPermitFrontMrzResultJSON | null; chinaOneWayPermitBackMrzResult: ChinaOneWayPermitBackMrzResultJSON | null; colombiaIdBarcodeResult: ColombiaIdBarcodeResultJSON | null; colombiaDlBarcodeResult: ColombiaDlBarcodeResultJSON | null; mrzResult: MRZResultJSON | null; southAfricaDlBarcodeResult: SouthAfricaDlBarcodeResultJSON | null; southAfricaIdBarcodeResult: SouthAfricaIdBarcodeResultJSON | null; usUniformedServicesBarcodeResult: USUniformedServicesBarcodeResultJSON | null; commonAccessCardBarcodeResult: CommonAccessCardBarcodeResultJSON | null; usVisaVizResult: USVisaVIZResultJSON | null; vizResult: VIZResultJSON | null; } export type CapturedIdCommonFieldsJSON = Pick; export type VIZResultExtendedJSON = Omit; interface FieldLocations { frontFieldLocations: Partial>; } export type VIZResultExtendedWithFieldLocationsJSON = FieldLocations & VIZResultExtendedJSON; export type CapturedIdWithExtendedVIZJSON = Omit & { vizResult: VIZResultExtendedJSON; }; export type CapturedIdWithExtendedVIZAndLocationsJSON = Omit & { vizResult: VIZResultExtendedWithFieldLocationsJSON; }; export interface AAMVABarcodeResultJSON extends CommonFieldsJSON { aamvaVersion: number; isRealId: boolean; aliasFamilyName: string | null; aliasGivenName: string | null; aliasSuffixName: string | null; barcodeMetadata: BarcodeMetadataJSON | null; cardRevisionDate: DateResultJSON | null; documentDiscriminatorNumber: string | null; driverNamePrefix: string | null; driverNameSuffix: string | null; endorsementsCode: string | null; eyeColor: string | null; firstNameTruncation: string | null; hairColor: string | null; heightCm: number | null; heightInch: number | null; iin: string; issuingJurisdiction: string; issuingJurisdictionIso: string; jurisdictionVersion: number; lastNameTruncation: string | null; firstNameWithoutMiddleName: string | null; middleName: string | null; middleNameTruncation: string | null; placeOfBirth: string | null; race: string | null; restrictionsCode: string | null; vehicleClass: string | null; weightKg: number | null; weightLbs: number | null; rawData: string; dictionary: Record; } export interface ApecBusinessTravelCardMrzResultJSON { documentCode: string; capturedMrz: string; passportIssuerIso: string; passportNumber: string; passportDateOfExpiry: DateResultJSON | null; } export interface ArgentinaIdBarcodeResultJSON { documentCopy: string; personalIdNumber: string; } export interface ChinaMainlandTravelPermitMrzResultJSON { documentCode: string; capturedMrz: string; personalIdNumber: string; renewalTimes: number; fullNameSimplifiedChinese: string; omittedCharacterCountInGBKName: number; omittedNameCount: number; issuingAuthorityCode?: string | null; } export interface ChinaExitEntryPermitMrzResultJSON { documentCode: string; capturedMrz: string; } export interface ChinaOneWayPermitFrontMrzResultJSON { documentCode: string; fullNameSimplifiedChinese: string; capturedMrz: string; } export interface ChinaOneWayPermitBackMrzResultJSON { documentCode: string; namesAreTruncated: boolean; capturedMrz: string; } export interface ColombiaIdBarcodeResultJSON { bloodType: string; } export interface ColombiaDlBarcodeResultJSON { categories: string[]; identificationType: string; } export interface MRZResultJSON extends CommonFieldsJSON { documentCode: string; namesAreTruncated: boolean; optional: string | null; optional1: string | null; capturedMrz: string; } export interface SouthAfricaDlBarcodeResultJSON { version: number; licenseCountryOfIssue: string; personalIdNumber: string; personalIdNumberType: string; documentCopy: number; driverRestrictionCodes: number[]; professionalDrivingPermit: ProfessionalDrivingPermitJSON | null; vehicleRestrictions: VehicleRestrictionJSON[]; } export interface SouthAfricaIdBarcodeResultJSON { countryOfBirth: string; countryOfBirthIso: string; citizenshipStatus: string; personalIdNumber: string; } export interface USUniformedServicesBarcodeResultJSON { bloodType: string | null; branchOfService: string; champusEffectiveDate: DateResultJSON | null; champusExpiryDate: DateResultJSON | null; civilianHealthCareFlagCode: string; civilianHealthCareFlagDescription: string; commissaryFlagCode: string; commissaryFlagDescription: string; deersDependentSuffixCode: number; deersDependentSuffixDescription: string; directCareFlagCode: string; directCareFlagDescription: string; exchangeFlagCode: string; exchangeFlagDescription: string; eyeColor: string; familySequenceNumber: number; formNumber: string; genevaConventionCategory: string | null; hairColor: string; height: number; jpegData: string; mwrFlagCode: string; mwrFlagDescription: string; payGrade: string | null; personDesignatorDocument: number; rank: string; relationshipCode: string | null; relationshipDescription: string | null; securityCode: string; serviceCode: string; sponsorFlag: string; sponsorPersonDesignatorIdentifier: number | null; sponsorName: string | null; statusCode: string; statusCodeDescription: string; version: number; weight: number; } export interface CommonAccessCardBarcodeResultJSON { version: string; personDesignatorDocument: number; personDesignatorTypeCode: string; ediPersonIdentifier: string; personnelCategoryCode: string; branchOfService: string; personnelEntitlementConditionType: string; rank: string; payPlanCode: string; payPlanGradeCode: string; cardInstanceIdentifier: string; personMiddleInitial: string; } export interface USVisaVIZResultJSON { visaNumber: string; passportNumber: string; } export interface VIZResultJSON extends CommonFieldsJSON { additionalAddressInformation: string | null; additionalNameInformation: string | null; documentAdditionalNumber: string | null; employer: string | null; issuingAuthority: string | null; issuingJurisdiction: string | null; issuingJurisdictionIso: string | null; maritalStatus: string | null; personalIdNumber: string | null; placeOfBirth: string | null; profession: string | null; race: string | null; religion: string | null; residentialStatus: string | null; mothersName: string | null; fathersName: string | null; capturedSides: string; isBackSideCaptureSupported: boolean; drivingLicenseDetails: DrivingLicenseDetailsJSON | null; bloodType: string | null; sponsor: string | null; } export interface IdCaptureErrorJSON { type: string; message: string; } export interface IdCaptureSessionJSON { newlyCapturedId: CapturedIdJSON | null; localizedOnlyId: LocalizedOnlyIdJSON | null; newlyRejectedId: RejectedIdJSON | null; frameSequenceId: number; error: IdCaptureErrorJSON | null; } export interface LocalizedOnlyIdJSON { location: QuadrilateralJSON; } export interface RejectedIdJSON { location: QuadrilateralJSON; rejectionReason: string; } export interface ComparisonCheckJSON { checkResult: ComparisonCheckResult; resultDescription: string; } export interface StringComparisonCheckJSON extends ComparisonCheckJSON { vizValue: string | null; aamvaBarcodeValue: string | null; } export interface DateComparisonCheckJSON extends ComparisonCheckJSON { vizValue: DateResultJSON | null; aamvaBarcodeValue: DateResultJSON | null; } export interface AamvaVizBarcodeComparisonResultJSON { checksPassed: boolean; resultDescription: string; issuingCountryIsoMatch: StringComparisonCheckJSON; issuingJurisdictionIsoMatch: StringComparisonCheckJSON; documentNumbersMatch: StringComparisonCheckJSON; fullNamesMatch: StringComparisonCheckJSON; datesOfBirthMatch: DateComparisonCheckJSON; datesOfExpiryMatch: DateComparisonCheckJSON; datesOfIssueMatch: DateComparisonCheckJSON; } export interface AamvaBarcodeVerificationResultJSON { allChecksPassed: boolean; } export interface VizMrzComparisonCheckJSON { checkResult: VizMrzComparisonCheckResult; resultDescription: string; } export interface VizMrzStringComparisonCheckJSON extends VizMrzComparisonCheckJSON { vizValue: string | null; mrzValue: string | null; } export interface VizMrzDateComparisonCheckJSON extends VizMrzComparisonCheckJSON { vizValue: DateResultJSON | null; mrzValue: DateResultJSON | null; } export interface VizMrzComparisonResultJSON { checksPassed: boolean; resultDescription: string; issuingCountryIsoMatch: VizMrzStringComparisonCheckJSON; documentNumbersMatch: VizMrzStringComparisonCheckJSON; fullNamesMatch: VizMrzStringComparisonCheckJSON; datesOfBirth: VizMrzDateComparisonCheckJSON; datesOfExpiry: VizMrzDateComparisonCheckJSON; } export interface BarcodeMetadataJSON { errorCorrection: number; moduleCountX: number; moduleCountY: number; } export {};