import type { InputConfig } from "./utils/input.js"; import type { OutputConfig, PlaybackEventTarget } from "./utils/output.js"; import type { BaseConnection, FormatConfig } from "./utils/BaseConnection.js"; import type { AgentAudioEvent, InterruptionEvent } from "./utils/events.js"; import { BaseConversation, type Options, type PartialOptions } from "./BaseConversation.js"; import type { InputController } from "./InputController.js"; import type { OutputController } from "./OutputController.js"; export declare class VoiceConversation extends BaseConversation { private input; private output; private playbackEventTarget; private cleanUp; private wakeLock; readonly type = "voice"; private static requestWakeLock; static startSession(options: PartialOptions): Promise; private inputFrequencyData?; private outputFrequencyData?; private visibilityChangeHandler; private handlePlaybackEvent; protected constructor(options: Options, connection: BaseConnection, input: InputController, output: OutputController, playbackEventTarget: PlaybackEventTarget | null, cleanUp: () => void, wakeLock: WakeLockSentinel | null); protected handleEndSession(): Promise; protected handleInterruption(event: InterruptionEvent): void; protected handleAudio(event: AgentAudioEvent): void; private static readonly FREQUENCY_BIN_COUNT; setMicMuted(isMuted: boolean): void; getInputByteFrequencyData(): Uint8Array; getOutputByteFrequencyData(): Uint8Array; getInputVolume(): number; getOutputVolume(): number; changeInputDevice({ sampleRate, format, preferHeadphonesForIosDevices, inputDeviceId, }: Partial & InputConfig): Promise; changeOutputDevice({ sampleRate, format, outputDeviceId, }: Partial & OutputConfig): Promise; setVolume: ({ volume }: { volume: number; }) => void; } //# sourceMappingURL=VoiceConversation.d.ts.map