export type ModelRuntime = 'claude' | 'codex' | 'antigravity'; type Version = [number, number]; export interface ParsedModel { runtime: ModelRuntime; family: string; version: Version; } /** Runtime, family and version of a model id; null for a name this does not * judge (aliases such as `opus`, other vendors). */ export declare function parseModelId(id: string): ParsedModel | null; /** The highest version of `family` among `ids`, ignoring blocked models. */ export declare function newestModel(ids: readonly string[], runtime: ModelRuntime, family: string): string | undefined; /** The newest ids known at this release. Raise these when a family ships. */ export declare const LATEST_FLOOR: Record>; type Catalog = Partial>; export declare const catalogFile: () => string; /** The cached catalog; empty when the file is missing or unreadable. */ export declare function readCatalog(file?: string): Catalog; /** Stores one runtime's model list (what `agent models` just read) without * touching the other runtimes or the refresh clock. Blocked models are dropped. */ export declare function recordCatalog(runtime: ModelRuntime, ids: readonly string[], opts?: { file?: string; }): void; /** The newest model of `family` for `runtime`: the live catalog or the floor, * whichever is newer. */ export declare function latestModel(runtime: ModelRuntime, family: string, opts?: { file?: string; }): string; /** The newer model to use instead of `model`, when `model` is older than the * newest of its family; undefined for a current pin or a name not judged. */ export declare function outdatedModelHint(model: string, opts?: { file?: string; }): string | undefined; /** Re-reads each runtime's model list into the cache. A runtime whose listing * fails keeps its old entry. Skipped while the cache is younger than `maxAgeMs`, * and entirely (with the real listers) when MONOMIND_MODEL_REFRESH=0. */ export declare function refreshLatestModels(opts?: { file?: string; now?: () => number; maxAgeMs?: number; timeoutMs?: number; list?: (runtime: ModelRuntime) => Promise; }): Promise; /** The ids a runtime's model list names: each entry's id and resolved id. */ export declare function catalogIds(models: readonly { id: string; resolved_id?: string; }[]): string[]; export {}; //# sourceMappingURL=latest-models.d.ts.map