import type { CatalogModel } from './model-catalog.js';
interface CatalogCacheFile {
    version: 1;
    fetchedAt: number;
    ttlMs: number;
    models: CatalogModel[];
}
export declare function getCatalogCachePath(cacheDir: string): string;
export declare function getCatalogTmpPath(cacheDir: string): string;
declare function loadCatalogCache(cachePath: string): CatalogCacheFile | null;
declare function saveCatalogCache(models: CatalogModel[], cachePath: string, tmpPath: string): void;
declare function isCatalogCacheStale(cache: CatalogCacheFile): boolean;
/**
 * Fetch models.dev/api.json and parse into CatalogModel[].
 * Uses a 30-second timeout.
 */
export declare function fetchCatalog(): Promise<CatalogModel[]>;
export { loadCatalogCache, saveCatalogCache, isCatalogCacheStale, };
//# sourceMappingURL=model-catalog-cache.d.ts.map