import type { DataCaptureLoaderOptions } from "@scandit/web-datacapture-core";
import { DataCaptureLoader as CoreDataCaptureLoader } from "@scandit/web-datacapture-core";
import type { AnyDataCaptureActionMessage, DataCaptureActionMessageKey, DataCaptureWorker } from "./dataCaptureWorkerRelated.js";
type CommandAndPayload<A, C> = A extends {
    command: C;
} ? A : never;
type WorkerCommandPayload<C> = Omit<CommandAndPayload<AnyDataCaptureActionMessage, C>, "command" | "id">;
export type WorkerCommandParamsForIdCapture<C extends DataCaptureActionMessageKey = DataCaptureActionMessageKey> = [
    command: C,
    payload: WorkerCommandPayload<C>,
    transferables?: Transferable[]
];
export declare class IdCaptureWorkerManager extends CoreDataCaptureLoader {
    protected _dataCaptureWorker?: DataCaptureWorker;
    private readonly _name;
    get dataCaptureWorker(): DataCaptureWorker;
    get name(): string;
    protected get fixedWasmMemory(): number | null;
    static create(options: DataCaptureLoaderOptions): Promise<IdCaptureWorkerManager>;
    workerCommand(...parameters: WorkerCommandParamsForIdCapture): Promise<any>;
}
export {};
