export type VoiceModelCapability = "tts" | "realtime_transcription" | "realtime_voice"; export type VoiceModelCapabilities = Partial>; export type VoiceModelRef = { provider: string; model: string; timeoutMs?: number; }; export type VoiceModelProvider = { id: string; aliases?: readonly string[]; label?: string; defaultModel?: string | null; models?: readonly string[]; }; export type VoiceModelCatalogEntry = { kind: "voice"; provider: string; model: string; source: "static"; capabilities: VoiceModelCapabilities; label?: string; default?: boolean; modes?: readonly string[]; }; export type VoiceProviderCandidate = { provider: string; voiceModel?: VoiceModelRef; }; export declare function providerMatchesId(provider: VoiceModelProvider, providerId?: string): boolean; export declare function findVoiceModelProvider(params: { providers: readonly T[]; providerId?: string; }): T | undefined; export declare function voiceProviderSupportsModel(provider: VoiceModelProvider | undefined, model: unknown): boolean; export declare function resolveVoiceModelRefs(config: unknown): VoiceModelRef[]; export declare function resolveSupportedVoiceModelRefs(params: { config: unknown; providers: readonly VoiceModelProvider[]; providerId?: string; }): VoiceModelRef[]; export declare function resolveVoiceProviderCandidates(params: { primaryProvider: string; providers: readonly VoiceModelProvider[]; voiceModelConfig?: unknown; }): VoiceProviderCandidate[]; export declare function resolvePrimaryVoiceProviderCandidate(params: { primaryProvider: string; providers: readonly VoiceModelProvider[]; voiceModelConfig?: unknown; }): VoiceProviderCandidate; export declare function getVoiceProviderConfig>(params: { providerConfigs: Record; provider: VoiceModelProvider; configuredProviderId?: string; }): TConfig; export declare function synthesizeVoiceModelCatalogEntries(params: { provider: VoiceModelProvider; capabilities: VoiceModelCapabilities; modes?: readonly string[]; }): VoiceModelCatalogEntry[];