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