/**
 * Model fetchers for external provider catalogues.
 *
 * Each function calls the provider's /models endpoint, applies provider-specific
 * filtering, and caches the result in-memory with a TTL. Caches are keyed by URL
 * so callers using different base URLs do not collide.
 */
import type { ProviderModelInfo } from "./contracts.js";
/** Clear all cached model lists. Intended for tests. */
export declare function resetModelFetcherCaches(): void;
export declare function isChatCapableOpenAIModelId(id: string): boolean;
/**
 * Whether a model id accepts the OpenAI `reasoning_effort` parameter.
 * Covers OpenAI o-series and GPT-5 reasoning models, plus reasoning variants
 * commonly exposed via OpenRouter (deepseek-r1, grok-3-mini, mimo, qwen3-thinking).
 */
export declare function supportsReasoningEffort(id: string): boolean;
/**
 * Fetch the OpenRouter catalogue. Returns [] on any non-OK response.
 *
 * Stale-while-revalidate: once a catalogue has been cached, callers get it
 * instantly and a refresh runs in the background when the entry has expired, so
 * the model list endpoint never blocks on the network after the first load.
 */
export declare function fetchOpenRouterModels(apiKey: string): Promise<ProviderModelInfo[]>;
/** Fetch the OpenAI (or OpenAI-compatible) catalogue. Returns [] on any non-OK response. */
export declare function fetchOpenAIModels(apiKey: string, baseUrl: string): Promise<ProviderModelInfo[]>;
/** Fetch the Ollama tags catalogue. Returns [] on any non-OK response. */
export declare function fetchOllamaModels(baseUrl: string): Promise<ProviderModelInfo[]>;
//# sourceMappingURL=model-fetchers.d.ts.map