import { AugmentedWorker, ParserModule, ParserSetLogLevelAction, ParserLoadAction, ParserInterfaceActionMessage, ParserInterfaceResultMessage, ParserLoadResult, ParserSetLogLevelResult } from './proxyableWorkerRelated.js';
import '../sdcParserModule-BvuGkFJ7.js';
import '@scandit/web-datacapture-core';
import '../parser/ParserDataFormat.js';
import '../parser/private/sdcParserInternal.js';
import '../parser/private/sdcParserCommon.js';

interface ModuleHandler<M extends EmscriptenModule> {
    get: () => M;
    set: (v: M) => void;
}
interface ParserWorkerFunctions {
    postMessage: (message: ParserInterfaceResultMessage | ParserLoadResult | ParserSetLogLevelResult, transfer?: Transferable[]) => void;
}
declare class ParserComponent {
    private parsers;
    private readonly workerFunctions;
    private readonly workerSelf;
    private onMessageListener;
    private moduleHandler;
    private setupPromise;
    constructor(workerSelf: AugmentedWorker<ParserModule>, moduleHandler: ModuleHandler<ParserModule>);
    private get Module();
    setLogLevel(action: ParserSetLogLevelAction): void;
    load(action: ParserLoadAction): Promise<void>;
    listenToMessages(): void;
    onMessage(event: MessageEvent<ParserInterfaceActionMessage | ParserLoadAction | ParserSetLogLevelAction>): boolean;
    performDjinniAction(action: ParserInterfaceActionMessage): Promise<void>;
    private setup;
    private createParser;
    private getWasmParserExpectedHash;
    private getWasmParserFileName;
}

export { ParserComponent, type ParserWorkerFunctions };
