import { AudioLevelMonitor } from '../asr/audio-level.js'; export declare function isRealtimeAudioCaptureAvailable(): boolean; export interface RealtimeAudioCapture { createLevelMonitor(onLevel: (level: number) => void): AudioLevelMonitor; start(onChunk: (audioBase64: string) => Promise): void; stop(): Promise; abort(): void; } export declare class RealtimeAudioCaptureSession implements RealtimeAudioCapture { private readonly stream; private readonly context; private readonly source; private readonly processor; private readonly sink; private queue; private onChunk; private pendingPcm; private resamplePhase; private deliveryGeneration; private closed; private failure; private constructor(); static create(): Promise; createLevelMonitor(onLevel: (level: number) => void): AudioLevelMonitor; start(onChunk: (audioBase64: string) => Promise): void; stop(): Promise; abort(): void; private enqueuePcm; private enqueueChunk; }