import { AudioProcessorParameters, ContextOptions, StreamOptions, VadOptions } from '../client';
/**
 * Web worker to handle streaming audio to cloud and receiving speech processing results.
 * Also handles audio processing like maintaining history ringbuffer and running the VAD
 * @internal
 */
declare class WebsocketClient {
    private readonly workerCtx;
    private targetSampleRate;
    private isContextStarted;
    private audioContextStartTimes;
    private websocket?;
    private audioProcessor?;
    private controlSAB?;
    private dataSAB?;
    private immediateMode;
    private readonly frameMillis;
    private readonly outputAudioFrame;
    private debug;
    private defaultContextOptions?;
    constructor(ctx: Worker);
    connect(apiUrl: string, authToken: string, targetSampleRate: number, debug: boolean): void;
    initAudioProcessor(sourceSampleRate: number, frameMillis: number, historyFrames: number, vadOptions?: VadOptions): void;
    /**
     * Control audio processor parameters
     * @param ap - Audio processor parameters to adjust
     */
    adjustAudioProcessor(ap: AudioProcessorParameters): void;
    setSharedArrayBuffers(controlSAB: number, dataSAB: number): void;
    startStream(streamOptions: StreamOptions): void;
    stopStream(): void;
    /**
     * Processes and sends audio
     * @param audioChunk - audio data to process
     */
    processAudio(audioChunk: Float32Array): void;
    processAudioSAB(): void;
    startContext(contextOptions?: ContextOptions): void;
    stopContext(): void;
    switchContext(contextOptions?: ContextOptions): void;
    closeWebsocket(code?: number, reason?: string, wasClean?: boolean, userInitiated?: boolean): void;
    private readonly onWebsocketClose;
    private readonly onWebsocketOpen;
    private readonly onWebsocketError;
    private readonly onWebsocketMessage;
    send(data: string | Int16Array): void;
    setContextOptions(options: ContextOptions): void;
}
export declare function contextOptionsToMsg(contextOptions?: ContextOptions): Record<string, any>;
export default WebsocketClient;
