import { AudioSourceInfo, FfiHandle } from '@livekit/rtc-ffi-bindings'; import { AudioFrame } from './audio_frame.js'; declare class AudioSource { /** @internal */ info: AudioSourceInfo; /** @internal */ ffiHandle: FfiHandle; /** @internal */ lastCapture: number; /** @internal */ currentQueueSize: number; /** @internal */ release: () => void; promise: Promise; /** @internal */ timeout?: ReturnType; /** @internal */ closed: boolean; sampleRate: number; numChannels: number; queueSize: number; constructor(sampleRate: number, numChannels: number, queueSize?: number); get queuedDuration(): number; clearQueue(): void; /** @internal */ newPromise(): Promise; waitForPlayout(): Promise; captureFrame(frame: AudioFrame): Promise; close(): Promise; } export { AudioSource };