/**
 * WasmWorkerManager — generic worker lifecycle + message bridge
 * for offloading WASM inference to a Web Worker.
 *
 * All managers share a single Worker (and therefore a single WASM
 * instance).  The worker routes messages by `feature` field, so
 * multiple features can coexist concurrently.  The shared Worker
 * is ref-counted and terminated when the last manager is released.
 */
export declare class WasmWorkerManager {
    private pending;
    private feature;
    private nextId;
    private initialized;
    private _cleaned;
    private _initResolve;
    private _initReject;
    private _releaseResolve;
    constructor(feature: string);
    /** True if the browser supports Web Workers. */
    static isAvailable(): boolean;
    /** True if workers are available AND not disabled via config. */
    static shouldUse(): boolean;
    init(wasmBasePath: string, config: Record<string, unknown>): Promise<any>;
    process(payload: Record<string, unknown>, transferables?: Transferable[], timeoutMs?: number): Promise<any>;
    release(): Promise<void>;
    dispose(): void;
    private _cleanup;
    private _onMessage;
}
//# sourceMappingURL=WasmWorkerManager.d.ts.map