import { resolvePreferredOnnxModel } from "../../../transcription/onnx-cli.js";
import { type DiarizationPreference } from "../../../transcription/whisper.js";
import type { TranscriptionProviderHint } from "../../link-preview/deps.js";
import { type TranscriptionConfig } from "../transcription-config.js";
type Env = Record<string, string | undefined>;
export type TranscriptionAvailability = {
    preferredOnnxModel: ReturnType<typeof resolvePreferredOnnxModel>;
    onnxReady: boolean;
    hasLocalWhisper: boolean;
    hasGroq: boolean;
    hasAssemblyAi: boolean;
    hasDeepgram: boolean;
    hasElevenLabs: boolean;
    hasGemini: boolean;
    hasOpenai: boolean;
    hasFal: boolean;
    hasAnyProvider: boolean;
    geminiModelId: string;
    deepgramModelId: string;
    effectiveEnv: Env;
};
export declare function resolveTranscriptionAvailability({ env, transcription, groqApiKey, assemblyaiApiKey, deepgramApiKey, geminiApiKey, openaiApiKey, falApiKey, }: {
    env?: Env;
    transcription?: Partial<TranscriptionConfig> | null;
    groqApiKey?: string | null;
    assemblyaiApiKey?: string | null;
    deepgramApiKey?: string | null;
    geminiApiKey?: string | null;
    openaiApiKey?: string | null;
    falApiKey?: string | null;
}): Promise<TranscriptionAvailability>;
export declare function resolveTranscriptionStartInfo({ env, transcription, groqApiKey, assemblyaiApiKey, deepgramApiKey, geminiApiKey, openaiApiKey, falApiKey, diarization, }: {
    env?: Env;
    transcription?: Partial<TranscriptionConfig> | null;
    groqApiKey?: string | null;
    assemblyaiApiKey?: string | null;
    deepgramApiKey?: string | null;
    geminiApiKey?: string | null;
    openaiApiKey?: string | null;
    falApiKey?: string | null;
    diarization?: DiarizationPreference | null;
}): Promise<{
    availability: TranscriptionAvailability;
    providerHint: TranscriptionProviderHint;
    modelId: string | null;
}>;
export {};
