import EventEmitter from "eventemitter3"; import { ITranscriptionService } from "../interfaces/ITranscriptionService"; import { ResolvedWhisperConnectionContext } from "../batchReprocess"; import { TelemetryRow, TelemetrySnapshot, TranscriptionMetricsProvider } from "../metrics"; interface BatchTranscriptionConfig { language: string; translation_lang?: string; token?: string; headers?: Record; batch?: { parseResponse?: (response: Response) => Promise; }; provider?: TranscriptionMetricsProvider; resolvedConnectionContext?: ResolvedWhisperConnectionContext; } export declare class BatchTranscriptionAdapter extends EventEmitter implements ITranscriptionService { private audioContext; private mediaStream; private input; private recordingNode; private readonly batchConfig?; private readonly provider; private stopInFlightPromise; private recordState; private durableAudioSession; readonly resolvedConnectionContext?: ResolvedWhisperConnectionContext; constructor(config: BatchTranscriptionConfig); startTranscription(mediaStream: MediaStream): Promise; stopTranscription(): Promise; pauseTranscription(): void; resumeTranscription(): void; getResilienceStatus(): null; getTelemetrySnapshot(): TelemetrySnapshot; getTelemetryRows(): TelemetryRow[]; clearTelemetryRows(): void; resetTelemetry(): void; private performStopTranscription; private ensureAudioContext; private setupRecordingWorkletNode; private ensureWorkletModuleLoaded; private postMessage; private decreaseSampleRate; private convertFloat32ToInt16; private getAudioPayloadDurationMs; private readableStreamToBlob; private buildBatchUrl; private buildBatchHeaders; private stopMediaStreamTracks; private closeAudioContext; } export {}; //# sourceMappingURL=BatchTranscriptionAdapter.d.ts.map