import type { UpdateContextParameters, CaptureModeDeserializerInstance, ModuleHandler, Vector, WorkerFunctions as BaseWorkerFunctions, ProcessFrameParameters, WasmFrameData } from "scandit-web-datacapture-core/build/js/worker/index"; import { DataCaptureEngine as CoreDataCaptureEngine } from "scandit-web-datacapture-core/build/js/worker/index.js"; import type { CapturedIdCommonFieldsGetters, CapturedIdJSONWithoutCommonFieldsJSON, DataCaptureCallbackMessage, EngineWorkerResponse, IdCaptureSessionHolder, Module, ParseResult } from "./dataCaptureWorkerRelated"; import type { IdCaptureSettingsJSON } from "../IdCaptureSettings"; import type { AamvaBarcodeVerificationResultJSON, AamvaVizBarcodeComparisonResultJSON, CapturedIdJSON, IdCaptureSessionJSON, VizMrzComparisonResultJSON } from "../SerializedTypes"; export interface WorkerFunctions extends BaseWorkerFunctions { postMessage: (message: DataCaptureCallbackMessage, transfer?: Transferable[]) => void; } /** * DataCaptureEngine is an abstraction of the engine, it is created by the engine worker * and should be used as a singleton. It calls the underlying engine methods directly. */ export declare class DataCaptureEngine extends CoreDataCaptureEngine { protected idCaptureMode: IdCaptureMode; protected workerFunctions: WorkerFunctions; protected lastIdCaptureModeSerializedSettings: string; constructor(moduleHandler: ModuleHandler, workerFunctions: WorkerFunctions); processFrame(parameters: ProcessFrameParameters): EngineWorkerResponse<"processFrame">; updateContext(contextUpdateParameters: UpdateContextParameters): EngineWorkerResponse<"updateContext">; idCaptureSetLastResult(result: string): void; idCaptureSetLastError(error: string): void; idCaptureSetLastLocalizedId(localizedId: string): void; idCaptureSetLastDetectionIssue(issue: string): void; idCaptureReset(): Promise; idCaptureApplySettings(settings: IdCaptureSettingsJSON): Promise; idCaptureParse(code: string): Promise>; idCaptureVerifyAamvaCapture(capturedId: CapturedIdJSON): EngineWorkerResponse<"idCaptureVerifyAamvaCapture">; idCaptureVerifyVizMrzCapture(capturedId: CapturedIdJSON): EngineWorkerResponse<"idCaptureVerifyVizMrzCapture">; idCaptureBarcodeVerifyAamvaCapture(capturedId: CapturedIdJSON, endpoint: string | null): Promise>; idCaptureDrivingLicenseDetailsCreateWithBlinkIdData(vehicleClass: string, restrictions: string, endorsements: string): EngineWorkerResponse<"idCaptureDrivingLicenseDetailsCreateWithBlinkIdData">; getModeDeserializers(): Vector; protected getWasmSideModuleFileName(): string; protected getWasmCoreFileName(simdSupport: boolean, webassemblyMultithreadingSupport: boolean): string; protected getWasmCoreExpectedHash(simdSupport: boolean, webassemblyMultithreadingSupport: boolean): string; protected getWasmMetadata(): Record; } type IdCaptureModeState = "created" | "disposed" | "initial" | "started"; export declare class IdCaptureMode { private idCaptureDeserializer; private SDCIdCaptureMode; private listenerSet; private lastResult; private lastError; private lastLocalizedId; private lastDetectionIssue; private readonly coreEngine; private readonly Module; private readonly workerFunctions; private _state; constructor(coreEngine: DataCaptureEngine, Module: Module, workerFunctions: WorkerFunctions); get state(): IdCaptureModeState; private set state(value); isReadyToProcessFrame(): boolean; setLastResult(result: string): void; setLastError(error: string): void; setLastLocalizedId(localizedId: string): void; setLastDetectionIssue(issue: string): void; applySettings(settings: IdCaptureSettingsJSON): Promise; reset(): void; parse(code: string): ParseResult | null; idCaptureVerifyAamvaCapture(capturedId: CapturedIdJSON): AamvaVizBarcodeComparisonResultJSON | null; idCaptureVerifyVizMrzCapture(capturedId: CapturedIdJSON): VizMrzComparisonResultJSON | null; idCaptureBarcodeVerifyAamvaCapture(capturedId: CapturedIdJSON, endpoint: string | null): Promise; start(): void; onResetFromSDC(): void; setDetectionOnlyMode(detectionOnlyMode: boolean): void; onSessionUpdated(session: IdCaptureSessionHolder, frameData: WasmFrameData): void; onIdCapturedCallback(session: IdCaptureSessionHolder, frameData: WasmFrameData): void; /** * Build a CapturedIdJSON object. Initially we only have a partial capture, which needs to be augmented with * common fields getters provided by the session holder. */ buildCapturedIdFromSession(session: IdCaptureSessionHolder, partialCapturedId: CapturedIdJSONWithoutCommonFieldsJSON | null): CapturedIdJSON | null; buildCapturedIdFromCommonFields(capturedIdCommonFields: CapturedIdCommonFieldsGetters | null, partialCapturedId: CapturedIdJSONWithoutCommonFieldsJSON | null): CapturedIdJSON | null; onIdLocalizedCallback(session: IdCaptureSessionHolder, frameData: WasmFrameData): void; onIdRejectedCallback(session: IdCaptureSessionHolder, frameData: WasmFrameData): void; onIdCaptureTimedOutCallback(session: IdCaptureSessionHolder, frameData: WasmFrameData): void; onShutterButtonPositionChangedCallback(position: string): void; onShutterButtonStateChangedCallback(state: string): void; /** * The session holder contains everything except the common fields for the captured id, which have to be * gathered manually. */ parseIdCaptureSession(session: IdCaptureSessionHolder): Omit; getDeserializer(): CaptureModeDeserializerInstance; dispose(): void; restart(): void; private isReadyToDisplayHints; private initHintPresenterIfNotInitialized; } export {};