import type { FormatConfig } from "../../utils/BaseConnection.js"; import type { AudioWorkletConfig } from "../../BaseConversation.js"; import { type InputController, type InputDeviceConfig, type InputConfig, type InputEventTarget, type InputListener } from "../../InputController.js"; export type MediaDeviceInputConfig = FormatConfig & InputConfig & AudioWorkletConfig; export declare class MediaDeviceInput implements InputController, InputEventTarget { private readonly context; private readonly analyser; private readonly worklet; private inputStream; private mediaStreamSource; private permissions; private onError; static create({ sampleRate, format, preferHeadphonesForIosDevices, inputDeviceId, workletPaths, libsampleratePath, onError, inputChunkDurationMs, }: MediaDeviceInputConfig): Promise; private static getDeviceIdConstraint; private muted; private readonly volumeProvider; private constructor(); getAnalyser(): AnalyserNode; getVolume(): number; getByteFrequencyData(buffer: Uint8Array): void; isMuted(): boolean; addListener(listener: InputListener): void; removeListener(listener: InputListener): void; private forgetInputStreamAndSource; close(): Promise; setMuted(isMuted: boolean): Promise; private settingInput; setDevice(config?: Partial & InputDeviceConfig): Promise; private handlePermissionsChange; } //# sourceMappingURL=input.d.ts.map