import type { EventHub } from '../common'; import type { ImplementModuleDefinition, ModuleDefinition } from '../common/types'; import type { DeepStringRecord, IncodeLang } from '../common/vendors/incode'; import type { OnfidoCustomUIProps, OnfidoLanguage, RequestedVariant } from '../common/vendors/onfido/onfido.types'; import type { SumsubConfig, SumsubOptions } from '../common/vendors/sumsub/sumsub.types'; import type { DaonProcessInstanceParameters, OnfidoShareOption } from '../ocr'; import type { Events } from './events'; import type { PartialDeep } from 'type-fest'; interface IBiometricsModule extends ModuleDefinition { moduleName: 'biometrics'; category: 'component'; moduleEvents: Events; moduleContext: { mount(domElementOrSelector: string | HTMLElement): void; unmount(): void; }; moduleOptions: PartialDeep; recipeConfiguration: { biometrics: BiometricsRecipeOptions; }; vendorName: 'dummy-biometrics' | 'ocrlabs' | 'onfido' | 'incode' | 'sumsub' | 'idverse' | 'daon'; wrapperLoadType: 'async'; wrapperOptions: { eventHub: EventHub; mountElement: HTMLElement; }; wrapperContext: BiometricsWrapperContext; } export type BiometricsModule = ImplementModuleDefinition; export type CheckProcessingPool = { enabled: boolean; wait_time: number; max_attempts: number; }; type BiometricsRecipeOptions = { provider: { name: 'idverse'; skipFaceScanIntro?: boolean; logoUrl?: string; retryCount?: number; skipLoad?: boolean; workerPathString?: string; assetPathString?: string; } | { name: 'ocrlabs'; tx_id: string; } | { name: 'onfido'; fallback?: 'standard' | 'video'; sdkVersion?: string; theme?: 'light' | 'dark'; customUI?: OnfidoCustomUIProps; onUserExit?: () => void; showExitButton?: boolean; crossDevicePolicy?: 'force' | 'disable'; _crossDeviceLinkMethods?: Array; biometricsVariant?: RequestedVariant; language?: OnfidoLanguage; translations?: Record; } | { name: 'incode'; sdkVersion?: string; /** * Opt in to Incode's `renderCaptureFace` instead of `renderCamera('selfie')`. * Prerequisite for Incode's DeepSight deepfake / injection detection. * Only honoured on Incode SDK >= 1.83.0 (see startCamera). */ renderCaptureFace?: boolean; translations?: DeepStringRecord; lang?: IncodeLang; renderCameraProps?: Record; } | { name: 'sumsub'; config: SumsubConfig; options: SumsubOptions; } | { name: 'daon'; products: Array; processInstanceParameters?: Array; } | { name: 'dummy-biometrics'; numberOfTries?: number; }; is_synchronous?: boolean; checkProcessingPool?: CheckProcessingPool; }; export type BiometricsWrapperContext = { unmount?: () => void; }; export type BiometricsWrapperContextRef = { current: BiometricsWrapperContext | null; }; export {}; //# sourceMappingURL=definition.d.ts.map