import { AsrEvent, AsrListener } from "../worker/asr-client";
export declare class AsrManager {
    private _client;
    private _initPromise;
    private config?;
    private static defaultConfig;
    static workerPath: "/aic-runtime-deps/llm-deps/asr-worker.js";
    constructor(workerPath?: string, config?: typeof AsrManager.defaultConfig);
    /** Subscribe to worker lifecycle + inference events. */
    on(event: AsrEvent, handler: AsrListener): () => void;
    /** Ensure the model is initialized exactly once. */
    private ensureInit;
    /**
     * One-shot recognition on a mono 16 kHz Float32Array (same pattern as the demo).
     * Returns the final transcript; partials arrive via "update" events.
     */
    generate(audio: Float32Array, language?: "en"): Promise<string | string[]>;
    /** Alias to preserve old call sites that used generateResponse(). */
    generateResponse(audio: Float32Array, language: "en"): Promise<string | string[]>;
    /** Tear down the worker. */
    terminate(): void;
}
//# sourceMappingURL=AsrManager.d.ts.map