import type { AudioFrame } from '@livekit/rtc-node';
import type { APIConnectOptions } from '../types.js';
import type { VAD } from '../vad.js';
import type { ConversationItemAddedEvent } from '../voice/events.js';
import type { SpeechEvent } from './stt.js';
import { STT, SpeechStream } from './stt.js';
export declare class StreamAdapter extends STT {
    #private;
    label: string;
    constructor(stt: STT, vad: VAD);
    _recognize(frame: AudioFrame, abortSignal?: AbortSignal): Promise<SpeechEvent>;
    _updateSessionKeyterms(keyterms: string[]): void;
    _pushConversationItem(ev: ConversationItemAddedEvent): void;
    stream(options?: {
        connOptions?: APIConnectOptions;
    }): StreamAdapterWrapper;
}
export declare class StreamAdapterWrapper extends SpeechStream {
    #private;
    label: string;
    constructor(stt: STT, vad: VAD, connOptions?: APIConnectOptions);
    close(): void;
    monitorMetrics(): Promise<void>;
    protected run(): Promise<void>;
}
//# sourceMappingURL=stream_adapter.d.ts.map