import { type ModelMetadata } from "./connected-providers-cache"; export type ModelCapabilitiesSnapshotEntry = { id: string; family?: string; reasoning?: boolean; temperature?: boolean; toolCall?: boolean; modalities?: { input?: string[]; output?: string[]; }; limit?: { context?: number; input?: number; output?: number; }; }; export type ModelCapabilitiesSnapshot = { generatedAt: string; sourceUrl: string; models: Record; }; export type ModelCapabilities = { requestedModelID: string; canonicalModelID: string; family?: string; variants?: string[]; reasoningEfforts?: string[]; reasoning?: boolean; supportsThinking?: boolean; supportsTemperature?: boolean; supportsTopP?: boolean; maxOutputTokens?: number; toolCall?: boolean; modalities?: { input?: string[]; output?: string[]; }; diagnostics: ModelCapabilitiesDiagnostics; }; type GetModelCapabilitiesInput = { providerID: string; modelID: string; runtimeModel?: ModelMetadata | Record; runtimeSnapshot?: ModelCapabilitiesSnapshot; bundledSnapshot?: ModelCapabilitiesSnapshot; }; type DiagnosticSource = "none" | "runtime" | "runtime-snapshot" | "bundled-snapshot" | "override" | "heuristic" | "canonical" | "exact-alias" | "pattern-alias"; export type ModelCapabilitiesDiagnostics = { resolutionMode: "snapshot-backed" | "alias-backed" | "heuristic-backed" | "unknown"; canonicalization: { source: "canonical" | "exact-alias" | "pattern-alias"; ruleID?: string; }; snapshot: { source: "runtime-snapshot" | "bundled-snapshot" | "none"; }; family: { source: "snapshot" | "heuristic" | "none"; }; variants: { source: Exclude; }; reasoningEfforts: { source: Exclude; }; reasoning: { source: "runtime" | "runtime-snapshot" | "bundled-snapshot" | "none"; }; supportsThinking: { source: "runtime" | "override" | "heuristic" | "runtime-snapshot" | "bundled-snapshot" | "none"; }; supportsTemperature: { source: "runtime" | "override" | "runtime-snapshot" | "bundled-snapshot" | "none"; }; supportsTopP: { source: "runtime" | "override" | "none"; }; maxOutputTokens: { source: "runtime" | "runtime-snapshot" | "bundled-snapshot" | "none"; }; toolCall: { source: "runtime" | "runtime-snapshot" | "bundled-snapshot" | "none"; }; modalities: { source: "runtime" | "runtime-snapshot" | "bundled-snapshot" | "none"; }; }; export declare function getBundledModelCapabilitiesSnapshot(): ModelCapabilitiesSnapshot; export declare function getModelCapabilities(input: GetModelCapabilitiesInput): ModelCapabilities; export {};