import type { AIProvider, AIRuntimeDefaults, ModelsCatalogJson, ModelsProfilesJson, ModelAvailabilityStatus } from "./types.js"; export type ProfileChoiceKey = `${string}/${string}`; export type FinalProfileModelMappingPatchEntry = { provider: AIProvider; modelId: string; modelStatus: ModelAvailabilityStatus; reason?: string; displayName?: string; description?: string; runtime?: Partial; }; export type FinalProfileModelMappingPatch = Record; /** * Resolve the authoritative patch against the active OpenRouter-backed catalog. * Preferred Gemini (and other) targets win when present; otherwise catalog-valid fallbacks. */ export declare function resolveFinalProfileModelMappingPatch(catalog?: ModelsCatalogJson): FinalProfileModelMappingPatch; /** Authoritative patch (preferred targets; may include Gemini before catalog resolve). */ export declare const finalProfileModelMappingPatch: FinalProfileModelMappingPatch; export declare function parseProfileChoiceKey(key: string): { profile: string; choice: string; } | null; /** * Apply canonical routing patch. Only mutates provider/modelId/modelStatus/reason * and optional displayName/description/runtime. Never renames profile or choice keys. */ export declare function applyFinalProfileModelMappingPatch(profiles: ModelsProfilesJson, patch?: FinalProfileModelMappingPatch): ModelsProfilesJson; /** Keys that the sync remapper must not overwrite after the canonical patch. */ export declare function patchedProfileChoiceKeys(patch?: FinalProfileModelMappingPatch): Set; //# sourceMappingURL=finalProfileModelMappingPatch.d.ts.map