import { type PaceRealtimeVoiceFramesOptions } from './pacer.js'; import { type RealtimeVoiceAudioFormat, type RealtimeVoiceProtocol, type RealtimeVoiceSessionInfo, type RealtimeVoiceSessionStatus, type RealtimeVoiceTransport } from './types.js'; export interface RealtimeVoiceSessionOptions extends RealtimeVoiceSessionInfo { audioFormat?: Partial; protocol?: RealtimeVoiceProtocol; transport?: RealtimeVoiceTransport; sendBinary?: (data: Buffer) => void | Promise; handshakeTimeoutMs?: number; pacer?: PaceRealtimeVoiceFramesOptions; } export declare class RealtimeVoiceSession { readonly info: RealtimeVoiceSessionInfo; readonly audioFormat: RealtimeVoiceAudioFormat; private readonly protocol; private readonly transport?; private readonly pacer?; private readonly handshakeTimeoutMs; private statusValue; private lastErrorValue?; private startPromise?; private readLoopPromise?; private sessionIdValue?; constructor(opts: RealtimeVoiceSessionOptions); get status(): RealtimeVoiceSessionStatus; get lastError(): string | undefined; get sessionId(): bigint | undefined; start(): Promise; private startInternal; speak(text: string): Promise<{ frames: number; durationMs: number; }>; stop(_reason?: string): Promise; private requireTransport; private waitForSessionCreated; private startReadLoop; private assertNonFatalServerEvent; } //# sourceMappingURL=session.d.ts.map