import type { FormatConfig } from "../../utils/BaseConnection.js"; import type { AudioWorkletConfig } from "../../BaseConversation.js"; import type { OutputController, OutputDeviceConfig, OutputConfig, PlaybackEventTarget, PlaybackListener } from "../../OutputController.js"; export type MediaDeviceOutputConfig = FormatConfig & OutputConfig & AudioWorkletConfig & { audioContext?: AudioContext; }; export declare class MediaDeviceOutput implements OutputController, PlaybackEventTarget { private readonly context; private readonly analyser; private readonly gain; private readonly worklet; private readonly audioElement; static create({ sampleRate, format, outputDeviceId, workletPaths, libsampleratePath, audioContext, }: MediaDeviceOutputConfig): Promise; private volume; private interrupted; private interruptTimeout; private readonly volumeProvider; private constructor(); getAnalyser(): AnalyserNode; getVolume(): number; getByteFrequencyData(buffer: Uint8Array): void; addListener(listener: PlaybackListener): void; removeListener(listener: PlaybackListener): void; setVolume(volume: number): void; playAudio(chunk: ArrayBuffer): void; interrupt(resetDuration?: number): void; setDevice(config?: Partial & OutputDeviceConfig): Promise; close(): Promise; } //# sourceMappingURL=output.d.ts.map