export interface Options { mediaStream?: MediaStream; element?: HTMLAudioElement; debug?: boolean; recorder?: MediaRecorderOptions; audio?: MediaTrackConstraints; } export declare class AudioRecorder { options: Options; latency: number; debug: boolean; mediaStream?: MediaStream; mediaRecorder?: MediaRecorder; recordingReady: boolean; mediaGranted: boolean; recording: boolean; onBuffer?: (info: [Blob, number]) => void; onReady?: (info: { mimeType: string; data: Blob; startTime: number; }) => void; onStop?: () => void; bufferHeader: Blob | null; afterStop: boolean; constructor(options?: Options, latency?: number); getSupportedMimeType(): void; onMediaGranted(mediaStream: MediaStream): void; reAddTracks(mediaStream: MediaStream): void; startRecording(): Promise; stopRecording(): void; }