export type VendedModel = { id: string; name: string; default?: boolean; reasoning?: boolean; input?: Array<"text" | "image">; cost?: { input: number; output: number; cacheRead: number; cacheWrite: number; }; contextWindow?: number; maxTokens?: number; }; export type VendedCatalog = { models: VendedModel[]; fallbacks: string[]; }; /** Test seam: reset module state. */ export declare function resetVendedModelsForTest(): void; /** * Fetch the vended catalog now (single-flight). Resolves when the attempt * settles; never throws. Safe to fire-and-forget. */ export declare function refreshVendedModels(opts?: { fetchImpl?: typeof fetch; /** Test seam: bypass config-derived device auth. */ auth?: { baseUrl: string; apiKey: string; }; }): Promise; /** * Synchronous lookup of the vended catalog. Reads memory, then the disk * cache; fires a background refresh when stale or missing so the NEXT lookup * has it. Returns null until a catalog has ever been vended — consumers fall * back to the baked-in catalog. */ export declare function resolveVendedCatalog(): VendedCatalog | null;