import { WorkerFunctions as WorkerFunctions$1, ModuleHandler, Vector, UpdateContextParameters, AddNativeOverlayAction, RemoveNativeOverlayAction } from '@scandit/web-datacapture-core/build/js/worker/index';
import { DataCaptureEngine as DataCaptureEngine$1 } from '@scandit/web-datacapture-core/build/js/worker/index.js';
import { M as Module, D as DataCaptureCallbackMessage } from '../NativeProxy-BpXwaSl-.js';
import '@scandit/web-datacapture-barcode';
import '@scandit/web-datacapture-core/build/js/worker/dataCaptureWorkerRelated';
import '../djinni-types/sdcBarcodeInternalSdkData.js';
import '../djinni-types/sdcBarcodeData.js';
import '../djinni-types/sdcCoreCommonGeometry.js';
import '../djinni-types/sdcCoreCommonBuffer.js';
import '../sdcLabelInternalModuleCapture-CxPSiq2o.js';
import '../djinni-types/sdcSymbologySettings.js';
import '../djinni-types/sdcCoreInternalSdkArea.js';
import '../djinni-types/sdcCoreInternalSdkCommonGeometry.js';
import '../djinni-types/sdcCoreCommonGraphic.js';
import '../djinni-types/sdcCoreInternalSdkCommonAsync.js';
import '../djinni-types/sdcCoreInternalSdkOcr.js';
import '../djinni-types/sdcCoreCommon.js';
import '../djinni-types/sdcLabelData.js';
import '../djinni-types/sdcLabelInternalModuleData.js';
import '../djinni-types/sdcCoreInternalSdkUiViewfinder.js';
import '../djinni-types/sdcCoreInternalSdkCommonGraphics.js';
import '../djinni-types/sdcLabelInternalModuleUiOverlay.js';
import '../djinni-types/sdcCoreInternalSdkCapture.js';
import '../djinni-types/sdcCoreInternalSdkUiStyle.js';
import '@scandit/web-datacapture-core';
import '../api/AdaptiveRecognitionMode.js';
import '../api/CapturedLabel.js';
import '../api/LabelField.js';
import '../api/LabelFieldState.js';
import '../api/LabelFieldType.js';
import '../api/LabelFieldValueType.js';
import '../api/LabelDateResult.js';
import '@scandit/web-datacapture-core/build/js/private/nativeHandle.js';
import '../api/LabelCaptureSession.js';
import '../api/LabelDateFormat.js';
import '../api/LabelDateComponentFormat.js';
import '../api/LabelFieldLocationType.js';
import '../api/ReceiptScanningLineItem.js';
import '../api/ValidationFlowField.js';

interface WorkerFunctions extends WorkerFunctions$1 {
    postMessage: (message: DataCaptureCallbackMessage, transfer?: Transferable[]) => void;
    getOffscreenCanvas: () => OffscreenCanvas | undefined;
}
interface BarcodeCommand {
    command: string;
}
/**
 * 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.
 */
declare class DataCaptureEngine extends DataCaptureEngine$1<Module> {
    protected workerFunctions: WorkerFunctions;
    constructor(moduleHandler: ModuleHandler<Module>, workerFunctions: WorkerFunctions);
    getModeDeserializers(): Vector;
    protected getWasmSideModuleFileName(): string;
    protected getWasmCoreFileName(simdSupport: boolean, multithreadSupport: boolean): string;
    protected getWasmCoreExpectedHash(simdSupport: boolean, multithreadSupport: boolean): string;
    onBeforeUpdateContextHook(contextUpdateParameters: UpdateContextParameters): UpdateContextParameters;
    addNativeOverlay(event: MessageEvent<AddNativeOverlayAction>): void;
    removeNativeOverlay(event: MessageEvent<RemoveNativeOverlayAction>): void;
    protected getWasmMetadata(): Record<string, {
        bytes: number;
    }>;
}

export { type BarcodeCommand, DataCaptureEngine, type WorkerFunctions };
