import type { ModelInfo } from "./types"; export interface ModelsDevModel { name?: string; tool_call?: boolean; reasoning?: boolean; reasoning_options?: ModelInfo["reasoningOptions"]; structured_output?: boolean; temperature?: boolean; release_date?: string; family?: string; limit?: { context?: number; input?: number; output?: number; }; cost?: { input?: number; output?: number; cache_read?: number; cache_write?: number; }; modalities?: { input?: string[]; output?: string[]; }; status?: string; } interface ModelsDevProviderPayload { id?: string; env?: string[]; npm?: string; api?: string; name?: string; doc?: string; models?: Record; } export type ModelsDevPayload = Record; export type ModelsDevProviderKeyMap = Record; export interface ModelsDevGeneratedProviderSpec { id: string; name: string; description: string; family: "openai" | "openai-compatible" | "anthropic" | "google" | "vertex" | "bedrock" | "mistral"; capabilities?: ("tools" | "reasoning" | "prompt-cache")[]; modelsProviderId: string; defaultModelId?: string; apiKeyEnv?: string[]; docsUrl?: string; defaults?: { baseUrl?: string; }; } export declare function sortModelsByReleaseDate(models: Record): Record; export declare function resolveMaxInputTokens(limit: ModelsDevModel["limit"] | undefined): number; export declare function normalizeModelsDevProviderModels(payload: ModelsDevPayload): Record>; export declare function normalizeModelsDevProviderSpecs(payload: ModelsDevPayload, providerModels?: Record>): Record; export declare function fetchModelsDevProviderModels(url: string, fetcher?: typeof fetch): Promise>>; export declare function fetchModelsDevCatalog(url: string, fetcher?: typeof fetch): Promise<{ providerModels: Record>; providerSpecs: Record; }>; export declare function fetchLiveProviderModels(modelsDevUrl: string, fetcher?: typeof fetch): Promise>>; export {}; //# sourceMappingURL=catalog-live.d.ts.map