import type { DiarizationPreference, DiarizationProvider, WhisperProgressEvent, WhisperTranscriptionResult } from "./types.js";
export { OPENAI_DIARIZATION_CHUNK_SECONDS, isRetryableOpenAiError, resolveOpenAiDiarizationChunkSeconds, } from "./diarization-openai-chunks.js";
export declare function resolveDiarizationProviderOrder({ preference, elevenlabsApiKey, openaiApiKey, }: {
    preference: DiarizationPreference;
    elevenlabsApiKey: string | null;
    openaiApiKey: string | null;
}): DiarizationProvider[];
export declare function buildDiarizationModelChain(providers: DiarizationProvider[]): string | null;
export declare function transcribeMediaFileWithDiarization({ filePath, mediaType, filename, preference, elevenlabsApiKey, openaiApiKey, env, totalDurationSeconds, onProgress, }: {
    filePath: string;
    mediaType: string;
    filename: string | null;
    preference: DiarizationPreference;
    elevenlabsApiKey: string | null;
    openaiApiKey: string | null;
    env: Record<string, string | undefined>;
    totalDurationSeconds: number | null;
    onProgress?: ((event: WhisperProgressEvent) => void) | null;
}): Promise<WhisperTranscriptionResult>;
export declare function transcribeMediaBytesWithDiarization({ bytes, mediaType, filename, ...rest }: {
    bytes: Uint8Array;
    mediaType: string;
    filename: string | null;
    preference: DiarizationPreference;
    elevenlabsApiKey: string | null;
    openaiApiKey: string | null;
    env: Record<string, string | undefined>;
    totalDurationSeconds: number | null;
    onProgress?: ((event: WhisperProgressEvent) => void) | null;
}): Promise<WhisperTranscriptionResult>;
export declare function buildMissingDiarizationProviderMessage(preference: DiarizationPreference): string;
export declare function resolveOpenAiDiarizationBitrateKbps(totalDurationSeconds: number | null): 8 | 12 | 16 | 24;
