import type { Api, Model } from "./types"; interface CacheEntry { models: Model[]; fresh: boolean; authoritative: boolean; updatedAt: number; /** * Hash of the static catalog slice that was merged into `models` when this * row was written. `resolveProviderModels` compares against the current * static fingerprint and bypasses the static+cache re-merge when they * match — the cache already incorporates the same static state. */ staticFingerprint: string; } /** Close the shared cache only when it owns the exact requested database path. */ export declare function closeModelCache(dbPath?: string): boolean; export declare function readModelCache(providerId: string, ttlMs: number, now: () => number, dbPath?: string): CacheEntry | null; export declare function writeModelCache(providerId: string, updatedAt: number, models: Model[], authoritative: boolean, staticFingerprint: string, dbPath?: string): void; export {};