import type { BiometricsModule } from '../biometrics'; import type { EventHub } from '../common'; import type { DocumentType } from '../common/shared/models/SupportingDocument'; import type { ImplementModuleDefinition, ModuleDefinition } from '../common/types'; import type { OnfidoCustomUIProps, OnfidoLanguage, RequestedVariant } from '../common/vendors/onfido/onfido.types'; import type { IncodeLang } from '../common/vendors/incode/onBoarding.types'; import type { SumsubConfig, SumsubOptions } from '../common/vendors/sumsub/sumsub.types'; import type { IDVStatus } from '../frankie-client/clients/IDVClient'; import type { OCRModule, OnfidoShareOption } from '../ocr'; import type { Override } from '../../types/index.js'; import type { Events } from './events.types'; import type { PartialDeep } from 'type-fest'; interface IIDVModule extends ModuleDefinition { moduleName: 'idv'; category: 'flow'; moduleContext: IDVContext; moduleEvents: Events; moduleOptions: PartialDeep; recipeConfiguration: { idv: IDVRecipeOptions; }; vendorName: 'mastercard' | 'ocrlabs' | 'incode' | 'onfido' | 'sumsub' | 'truuth' | 'daon'; wrapperOptions: BiometricsModule['wrapperOptions']; wrapperLoadType: 'async'; wrapperContext: BiometricsModule['wrapperContext']; } export type IDVModule = ImplementModuleDefinition; type IDVContext = Override void; start: never; statuses: typeof IDVStatus; }>; export type IDVEventHub = EventHub; export type IdvProvider = { name: 'mastercard'; } | { name: 'ocrlabs'; /** Set this if the redirect url is different to the initial url */ redirect_uri?: string; } | { name: 'incode'; product: 'idv'; lang?: IncodeLang; } | { name: 'onfido'; sdkVersion?: string; maxDocumentCount?: number; theme?: 'light' | 'dark'; customUI?: OnfidoCustomUIProps; fallback?: 'standard' | 'video'; crossDevicePolicy?: 'force' | 'disable'; _crossDeviceLinkMethods?: Array; product: 'idv'; biometricsVariant?: RequestedVariant; useOneStep?: boolean; showExitButton?: boolean; hideCountrySelection?: boolean; language?: OnfidoLanguage; translations?: Record; } | { name: 'sumsub'; config: SumsubConfig; options: SumsubOptions; product: 'idv' | 'poa'; } | { name: 'daon'; products: Array; processInstanceParameters?: Array<{ name: string; mandatory: boolean; minimumLength?: number; maximumLength?: number; default: string | number; }>; } | { name: 'truuth'; sdkVersion?: string; skipConfirmationPage?: boolean; skipAbortPage?: boolean; restartSession?: boolean; /** Escape hatch: arbitrary keys forwarded to truuthWebSDK.init(), for Truuth params not yet modelled above. Cannot override system-managed fields (apiUrl, tenant, token, verificationId, width, height). */ vendorConfig?: Record; }; export type IDVRecipeOptions = { provideReviewScreen?: boolean; checkProcessingPool?: { enabled: boolean; wait_time: 5; max_attempts: 1; }; documents?: Array<{ type: DocumentType; countries?: Array; }>; provider: IdvProvider; }; export {}; //# sourceMappingURL=definition.types.d.ts.map