/** Immutable, credential-blind models.json snapshot. */
import { type Static, Type } from "typebox";
declare const ModelDefinitionSchema: Type.TObject<{
    id: Type.TString;
    name: Type.TOptional<Type.TString>;
    api: Type.TOptional<Type.TString>;
    baseUrl: Type.TOptional<Type.TString>;
    reasoning: Type.TOptional<Type.TBoolean>;
    thinkingLevelMap: Type.TOptional<Type.TUnsafe<{
        off?: string | null | undefined;
        minimal?: string | null | undefined;
        low?: string | null | undefined;
        medium?: string | null | undefined;
        high?: string | null | undefined;
        xhigh?: string | null | undefined;
        max?: string | null | undefined;
    }>>;
    input: Type.TOptional<Type.TArray<Type.TUnsafe<"image" | "text">>>;
    inputLimits: Type.TOptional<Type.TUnsafe<{
        maxRequestBytes?: number | undefined;
        images?: {
            resize?: {
                maxWidth?: number | undefined;
                maxHeight?: number | undefined;
                maxBytes?: number | undefined;
                jpegQuality?: number | undefined;
            } | undefined;
            maxPerMessage?: number | undefined;
            maxPerRequest?: number | undefined;
        } | undefined;
    }>>;
    cost: Type.TOptional<Type.TUnsafe<{
        input: number;
        output: number;
        cacheRead: number;
        cacheWrite: number;
        tiers?: {
            input: number;
            output: number;
            cacheRead: number;
            cacheWrite: number;
            inputTokensAbove: number;
        }[] | undefined;
    }>>;
    promptCache: Type.TOptional<Type.TUnsafe<{
        short?: number | undefined;
        long?: number | undefined;
    }>>;
    contextWindow: Type.TOptional<Type.TNumber>;
    maxTokens: Type.TOptional<Type.TNumber>;
    samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
    samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
        off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
    }>>;
    headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
    compat: Type.TOptional<Type.TUnsafe<{
        supportsStore?: boolean | undefined;
        supportsReasoningEffort?: boolean | undefined;
        supportsUsageInStreaming?: boolean | undefined;
        supportsFinishReason?: boolean | undefined;
        maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
        requiresToolResultName?: boolean | undefined;
        requiresAssistantAfterToolResult?: boolean | undefined;
        requiresNonNullAssistantContent?: boolean | undefined;
        requiresToolsWithToolHistory?: boolean | undefined;
        requiresThinkingAsText?: boolean | undefined;
        requiresReasoningContentOnAssistantMessages?: boolean | undefined;
        thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
        chatTemplateKwargs?: Record<string, string | number | boolean | {
            $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
            omitWhenOff?: boolean | undefined;
        } | null> | undefined;
        chatTemplateArgs?: Record<string, string | number | boolean | {
            $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
            omitWhenOff?: boolean | undefined;
        } | null> | undefined;
        openRouterRouting?: {
            allow_fallbacks?: boolean | undefined;
            require_parameters?: boolean | undefined;
            data_collection?: "allow" | "deny" | undefined;
            zdr?: boolean | undefined;
            enforce_distillable_text?: boolean | undefined;
            order?: string[] | undefined;
            only?: string[] | undefined;
            ignore?: string[] | undefined;
            quantizations?: string[] | undefined;
            sort?: string | {
                by?: string | undefined;
                partition?: string | null | undefined;
            } | undefined;
            max_price?: {
                prompt?: string | number | undefined;
                completion?: string | number | undefined;
                image?: string | number | undefined;
                audio?: string | number | undefined;
                request?: string | number | undefined;
            } | undefined;
            preferred_min_throughput?: number | {
                p50?: number | undefined;
                p75?: number | undefined;
                p90?: number | undefined;
                p99?: number | undefined;
            } | undefined;
            preferred_max_latency?: number | {
                p50?: number | undefined;
                p75?: number | undefined;
                p90?: number | undefined;
                p99?: number | undefined;
            } | undefined;
        } | undefined;
        vercelGatewayRouting?: {
            only?: string[] | undefined;
            order?: string[] | undefined;
        } | undefined;
        zaiToolStream?: boolean | undefined;
        thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
        supportsThinkingTokenBudget?: boolean | undefined;
        supportsMidConvoToolAdditions?: boolean | undefined;
        cacheControlFormat?: "anthropic" | undefined;
        vllmPriority?: number | undefined;
        supportsAdditionalTools?: boolean | undefined;
        supportsToolSearch?: boolean | undefined;
        supportsExplicitPromptCacheMode?: boolean | undefined;
        supportsMaxOutputTokens?: boolean | undefined;
        supportsEagerToolInputStreaming?: boolean | undefined;
        supportsCacheControlOnTools?: boolean | undefined;
        supportsTemperature?: boolean | undefined;
        forceAdaptiveThinking?: boolean | undefined;
        allowEmptySignature?: boolean | undefined;
        supportsStrictTools?: boolean | undefined;
        supportsMidConvoToolChanges?: boolean | undefined;
        supportsMessageThreads?: boolean | undefined;
        allowedFallbackModels?: {
            provider: string;
            model: string;
            cost: {
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                tiers?: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    inputTokensAbove: number;
                }[] | undefined;
            };
        }[] | undefined;
        imageInput?: "assets" | "images" | "state-image-urls" | undefined;
        sendImageOptInHeader?: boolean | undefined;
        supportsDeveloperRole?: boolean | undefined;
        supportsMidConvoSystemMessages?: boolean | undefined;
        sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
        promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
        supportsMidConvoEffort?: boolean | undefined;
        supportsLongCacheRetention?: boolean | undefined;
        supportsStrictMode?: boolean | undefined;
        supportsOpenAIGrammarTools?: boolean | undefined;
        sendSessionAffinityHeaders?: boolean | undefined;
    }>>;
}>;
declare const ModelOverrideSchema: Type.TObject<{
    name: Type.TOptional<Type.TString>;
    reasoning: Type.TOptional<Type.TBoolean>;
    thinkingLevelMap: Type.TOptional<Type.TUnsafe<{
        off?: string | null | undefined;
        minimal?: string | null | undefined;
        low?: string | null | undefined;
        medium?: string | null | undefined;
        high?: string | null | undefined;
        xhigh?: string | null | undefined;
        max?: string | null | undefined;
    }>>;
    input: Type.TOptional<Type.TArray<Type.TUnsafe<"image" | "text">>>;
    inputLimits: Type.TOptional<Type.TUnsafe<{
        maxRequestBytes?: number | undefined;
        images?: {
            resize?: {
                maxWidth?: number | undefined;
                maxHeight?: number | undefined;
                maxBytes?: number | undefined;
                jpegQuality?: number | undefined;
            } | undefined;
            maxPerMessage?: number | undefined;
            maxPerRequest?: number | undefined;
        } | undefined;
    }>>;
    cost: Type.TOptional<Type.TUnsafe<Partial<{
        input: number;
        output: number;
        cacheRead: number;
        cacheWrite: number;
        tiers?: {
            input: number;
            output: number;
            cacheRead: number;
            cacheWrite: number;
            inputTokensAbove: number;
        }[] | undefined;
    }>>>;
    promptCache: Type.TOptional<Type.TUnsafe<{
        short?: number | undefined;
        long?: number | undefined;
    }>>;
    contextWindow: Type.TOptional<Type.TNumber>;
    maxTokens: Type.TOptional<Type.TNumber>;
    samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
    samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
        off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
    }>>;
    headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
    compat: Type.TOptional<Type.TUnsafe<{
        supportsStore?: boolean | undefined;
        supportsReasoningEffort?: boolean | undefined;
        supportsUsageInStreaming?: boolean | undefined;
        supportsFinishReason?: boolean | undefined;
        maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
        requiresToolResultName?: boolean | undefined;
        requiresAssistantAfterToolResult?: boolean | undefined;
        requiresNonNullAssistantContent?: boolean | undefined;
        requiresToolsWithToolHistory?: boolean | undefined;
        requiresThinkingAsText?: boolean | undefined;
        requiresReasoningContentOnAssistantMessages?: boolean | undefined;
        thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
        chatTemplateKwargs?: Record<string, string | number | boolean | {
            $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
            omitWhenOff?: boolean | undefined;
        } | null> | undefined;
        chatTemplateArgs?: Record<string, string | number | boolean | {
            $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
            omitWhenOff?: boolean | undefined;
        } | null> | undefined;
        openRouterRouting?: {
            allow_fallbacks?: boolean | undefined;
            require_parameters?: boolean | undefined;
            data_collection?: "allow" | "deny" | undefined;
            zdr?: boolean | undefined;
            enforce_distillable_text?: boolean | undefined;
            order?: string[] | undefined;
            only?: string[] | undefined;
            ignore?: string[] | undefined;
            quantizations?: string[] | undefined;
            sort?: string | {
                by?: string | undefined;
                partition?: string | null | undefined;
            } | undefined;
            max_price?: {
                prompt?: string | number | undefined;
                completion?: string | number | undefined;
                image?: string | number | undefined;
                audio?: string | number | undefined;
                request?: string | number | undefined;
            } | undefined;
            preferred_min_throughput?: number | {
                p50?: number | undefined;
                p75?: number | undefined;
                p90?: number | undefined;
                p99?: number | undefined;
            } | undefined;
            preferred_max_latency?: number | {
                p50?: number | undefined;
                p75?: number | undefined;
                p90?: number | undefined;
                p99?: number | undefined;
            } | undefined;
        } | undefined;
        vercelGatewayRouting?: {
            only?: string[] | undefined;
            order?: string[] | undefined;
        } | undefined;
        zaiToolStream?: boolean | undefined;
        thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
        supportsThinkingTokenBudget?: boolean | undefined;
        supportsMidConvoToolAdditions?: boolean | undefined;
        cacheControlFormat?: "anthropic" | undefined;
        vllmPriority?: number | undefined;
        supportsAdditionalTools?: boolean | undefined;
        supportsToolSearch?: boolean | undefined;
        supportsExplicitPromptCacheMode?: boolean | undefined;
        supportsMaxOutputTokens?: boolean | undefined;
        supportsEagerToolInputStreaming?: boolean | undefined;
        supportsCacheControlOnTools?: boolean | undefined;
        supportsTemperature?: boolean | undefined;
        forceAdaptiveThinking?: boolean | undefined;
        allowEmptySignature?: boolean | undefined;
        supportsStrictTools?: boolean | undefined;
        supportsMidConvoToolChanges?: boolean | undefined;
        supportsMessageThreads?: boolean | undefined;
        allowedFallbackModels?: {
            provider: string;
            model: string;
            cost: {
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                tiers?: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    inputTokensAbove: number;
                }[] | undefined;
            };
        }[] | undefined;
        imageInput?: "assets" | "images" | "state-image-urls" | undefined;
        sendImageOptInHeader?: boolean | undefined;
        supportsDeveloperRole?: boolean | undefined;
        supportsMidConvoSystemMessages?: boolean | undefined;
        sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
        promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
        supportsMidConvoEffort?: boolean | undefined;
        supportsLongCacheRetention?: boolean | undefined;
        supportsStrictMode?: boolean | undefined;
        supportsOpenAIGrammarTools?: boolean | undefined;
        sendSessionAffinityHeaders?: boolean | undefined;
    }>>;
}>;
declare const ProviderConfigSchema: Type.TObject<{
    name: Type.TOptional<Type.TString>;
    baseUrl: Type.TOptional<Type.TString>;
    apiKey: Type.TOptional<Type.TString>;
    api: Type.TOptional<Type.TString>;
    oauth: Type.TOptional<Type.TLiteral<"radius">>;
    headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
    compat: Type.TOptional<Type.TUnsafe<{
        supportsStore?: boolean | undefined;
        supportsReasoningEffort?: boolean | undefined;
        supportsUsageInStreaming?: boolean | undefined;
        supportsFinishReason?: boolean | undefined;
        maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
        requiresToolResultName?: boolean | undefined;
        requiresAssistantAfterToolResult?: boolean | undefined;
        requiresNonNullAssistantContent?: boolean | undefined;
        requiresToolsWithToolHistory?: boolean | undefined;
        requiresThinkingAsText?: boolean | undefined;
        requiresReasoningContentOnAssistantMessages?: boolean | undefined;
        thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
        chatTemplateKwargs?: Record<string, string | number | boolean | {
            $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
            omitWhenOff?: boolean | undefined;
        } | null> | undefined;
        chatTemplateArgs?: Record<string, string | number | boolean | {
            $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
            omitWhenOff?: boolean | undefined;
        } | null> | undefined;
        openRouterRouting?: {
            allow_fallbacks?: boolean | undefined;
            require_parameters?: boolean | undefined;
            data_collection?: "allow" | "deny" | undefined;
            zdr?: boolean | undefined;
            enforce_distillable_text?: boolean | undefined;
            order?: string[] | undefined;
            only?: string[] | undefined;
            ignore?: string[] | undefined;
            quantizations?: string[] | undefined;
            sort?: string | {
                by?: string | undefined;
                partition?: string | null | undefined;
            } | undefined;
            max_price?: {
                prompt?: string | number | undefined;
                completion?: string | number | undefined;
                image?: string | number | undefined;
                audio?: string | number | undefined;
                request?: string | number | undefined;
            } | undefined;
            preferred_min_throughput?: number | {
                p50?: number | undefined;
                p75?: number | undefined;
                p90?: number | undefined;
                p99?: number | undefined;
            } | undefined;
            preferred_max_latency?: number | {
                p50?: number | undefined;
                p75?: number | undefined;
                p90?: number | undefined;
                p99?: number | undefined;
            } | undefined;
        } | undefined;
        vercelGatewayRouting?: {
            only?: string[] | undefined;
            order?: string[] | undefined;
        } | undefined;
        zaiToolStream?: boolean | undefined;
        thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
        supportsThinkingTokenBudget?: boolean | undefined;
        supportsMidConvoToolAdditions?: boolean | undefined;
        cacheControlFormat?: "anthropic" | undefined;
        vllmPriority?: number | undefined;
        supportsAdditionalTools?: boolean | undefined;
        supportsToolSearch?: boolean | undefined;
        supportsExplicitPromptCacheMode?: boolean | undefined;
        supportsMaxOutputTokens?: boolean | undefined;
        supportsEagerToolInputStreaming?: boolean | undefined;
        supportsCacheControlOnTools?: boolean | undefined;
        supportsTemperature?: boolean | undefined;
        forceAdaptiveThinking?: boolean | undefined;
        allowEmptySignature?: boolean | undefined;
        supportsStrictTools?: boolean | undefined;
        supportsMidConvoToolChanges?: boolean | undefined;
        supportsMessageThreads?: boolean | undefined;
        allowedFallbackModels?: {
            provider: string;
            model: string;
            cost: {
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                tiers?: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    inputTokensAbove: number;
                }[] | undefined;
            };
        }[] | undefined;
        imageInput?: "assets" | "images" | "state-image-urls" | undefined;
        sendImageOptInHeader?: boolean | undefined;
        supportsDeveloperRole?: boolean | undefined;
        supportsMidConvoSystemMessages?: boolean | undefined;
        sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
        promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
        supportsMidConvoEffort?: boolean | undefined;
        supportsLongCacheRetention?: boolean | undefined;
        supportsStrictMode?: boolean | undefined;
        supportsOpenAIGrammarTools?: boolean | undefined;
        sendSessionAffinityHeaders?: boolean | undefined;
    }>>;
    authHeader: Type.TOptional<Type.TBoolean>;
    models: Type.TOptional<Type.TArray<Type.TObject<{
        id: Type.TString;
        name: Type.TOptional<Type.TString>;
        api: Type.TOptional<Type.TString>;
        baseUrl: Type.TOptional<Type.TString>;
        reasoning: Type.TOptional<Type.TBoolean>;
        thinkingLevelMap: Type.TOptional<Type.TUnsafe<{
            off?: string | null | undefined;
            minimal?: string | null | undefined;
            low?: string | null | undefined;
            medium?: string | null | undefined;
            high?: string | null | undefined;
            xhigh?: string | null | undefined;
            max?: string | null | undefined;
        }>>;
        input: Type.TOptional<Type.TArray<Type.TUnsafe<"image" | "text">>>;
        inputLimits: Type.TOptional<Type.TUnsafe<{
            maxRequestBytes?: number | undefined;
            images?: {
                resize?: {
                    maxWidth?: number | undefined;
                    maxHeight?: number | undefined;
                    maxBytes?: number | undefined;
                    jpegQuality?: number | undefined;
                } | undefined;
                maxPerMessage?: number | undefined;
                maxPerRequest?: number | undefined;
            } | undefined;
        }>>;
        cost: Type.TOptional<Type.TUnsafe<{
            input: number;
            output: number;
            cacheRead: number;
            cacheWrite: number;
            tiers?: {
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                inputTokensAbove: number;
            }[] | undefined;
        }>>;
        promptCache: Type.TOptional<Type.TUnsafe<{
            short?: number | undefined;
            long?: number | undefined;
        }>>;
        contextWindow: Type.TOptional<Type.TNumber>;
        maxTokens: Type.TOptional<Type.TNumber>;
        samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
            off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        }>>;
        headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
        compat: Type.TOptional<Type.TUnsafe<{
            supportsStore?: boolean | undefined;
            supportsReasoningEffort?: boolean | undefined;
            supportsUsageInStreaming?: boolean | undefined;
            supportsFinishReason?: boolean | undefined;
            maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
            requiresToolResultName?: boolean | undefined;
            requiresAssistantAfterToolResult?: boolean | undefined;
            requiresNonNullAssistantContent?: boolean | undefined;
            requiresToolsWithToolHistory?: boolean | undefined;
            requiresThinkingAsText?: boolean | undefined;
            requiresReasoningContentOnAssistantMessages?: boolean | undefined;
            thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
            chatTemplateKwargs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            chatTemplateArgs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            openRouterRouting?: {
                allow_fallbacks?: boolean | undefined;
                require_parameters?: boolean | undefined;
                data_collection?: "allow" | "deny" | undefined;
                zdr?: boolean | undefined;
                enforce_distillable_text?: boolean | undefined;
                order?: string[] | undefined;
                only?: string[] | undefined;
                ignore?: string[] | undefined;
                quantizations?: string[] | undefined;
                sort?: string | {
                    by?: string | undefined;
                    partition?: string | null | undefined;
                } | undefined;
                max_price?: {
                    prompt?: string | number | undefined;
                    completion?: string | number | undefined;
                    image?: string | number | undefined;
                    audio?: string | number | undefined;
                    request?: string | number | undefined;
                } | undefined;
                preferred_min_throughput?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
                preferred_max_latency?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
            } | undefined;
            vercelGatewayRouting?: {
                only?: string[] | undefined;
                order?: string[] | undefined;
            } | undefined;
            zaiToolStream?: boolean | undefined;
            thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
            supportsThinkingTokenBudget?: boolean | undefined;
            supportsMidConvoToolAdditions?: boolean | undefined;
            cacheControlFormat?: "anthropic" | undefined;
            vllmPriority?: number | undefined;
            supportsAdditionalTools?: boolean | undefined;
            supportsToolSearch?: boolean | undefined;
            supportsExplicitPromptCacheMode?: boolean | undefined;
            supportsMaxOutputTokens?: boolean | undefined;
            supportsEagerToolInputStreaming?: boolean | undefined;
            supportsCacheControlOnTools?: boolean | undefined;
            supportsTemperature?: boolean | undefined;
            forceAdaptiveThinking?: boolean | undefined;
            allowEmptySignature?: boolean | undefined;
            supportsStrictTools?: boolean | undefined;
            supportsMidConvoToolChanges?: boolean | undefined;
            supportsMessageThreads?: boolean | undefined;
            allowedFallbackModels?: {
                provider: string;
                model: string;
                cost: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    tiers?: {
                        input: number;
                        output: number;
                        cacheRead: number;
                        cacheWrite: number;
                        inputTokensAbove: number;
                    }[] | undefined;
                };
            }[] | undefined;
            imageInput?: "assets" | "images" | "state-image-urls" | undefined;
            sendImageOptInHeader?: boolean | undefined;
            supportsDeveloperRole?: boolean | undefined;
            supportsMidConvoSystemMessages?: boolean | undefined;
            sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
            promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
            supportsMidConvoEffort?: boolean | undefined;
            supportsLongCacheRetention?: boolean | undefined;
            supportsStrictMode?: boolean | undefined;
            supportsOpenAIGrammarTools?: boolean | undefined;
            sendSessionAffinityHeaders?: boolean | undefined;
        }>>;
    }>>>;
    modelOverrides: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
        name: Type.TOptional<Type.TString>;
        reasoning: Type.TOptional<Type.TBoolean>;
        thinkingLevelMap: Type.TOptional<Type.TUnsafe<{
            off?: string | null | undefined;
            minimal?: string | null | undefined;
            low?: string | null | undefined;
            medium?: string | null | undefined;
            high?: string | null | undefined;
            xhigh?: string | null | undefined;
            max?: string | null | undefined;
        }>>;
        input: Type.TOptional<Type.TArray<Type.TUnsafe<"image" | "text">>>;
        inputLimits: Type.TOptional<Type.TUnsafe<{
            maxRequestBytes?: number | undefined;
            images?: {
                resize?: {
                    maxWidth?: number | undefined;
                    maxHeight?: number | undefined;
                    maxBytes?: number | undefined;
                    jpegQuality?: number | undefined;
                } | undefined;
                maxPerMessage?: number | undefined;
                maxPerRequest?: number | undefined;
            } | undefined;
        }>>;
        cost: Type.TOptional<Type.TUnsafe<Partial<{
            input: number;
            output: number;
            cacheRead: number;
            cacheWrite: number;
            tiers?: {
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                inputTokensAbove: number;
            }[] | undefined;
        }>>>;
        promptCache: Type.TOptional<Type.TUnsafe<{
            short?: number | undefined;
            long?: number | undefined;
        }>>;
        contextWindow: Type.TOptional<Type.TNumber>;
        maxTokens: Type.TOptional<Type.TNumber>;
        samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
            off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        }>>;
        headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
        compat: Type.TOptional<Type.TUnsafe<{
            supportsStore?: boolean | undefined;
            supportsReasoningEffort?: boolean | undefined;
            supportsUsageInStreaming?: boolean | undefined;
            supportsFinishReason?: boolean | undefined;
            maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
            requiresToolResultName?: boolean | undefined;
            requiresAssistantAfterToolResult?: boolean | undefined;
            requiresNonNullAssistantContent?: boolean | undefined;
            requiresToolsWithToolHistory?: boolean | undefined;
            requiresThinkingAsText?: boolean | undefined;
            requiresReasoningContentOnAssistantMessages?: boolean | undefined;
            thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
            chatTemplateKwargs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            chatTemplateArgs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            openRouterRouting?: {
                allow_fallbacks?: boolean | undefined;
                require_parameters?: boolean | undefined;
                data_collection?: "allow" | "deny" | undefined;
                zdr?: boolean | undefined;
                enforce_distillable_text?: boolean | undefined;
                order?: string[] | undefined;
                only?: string[] | undefined;
                ignore?: string[] | undefined;
                quantizations?: string[] | undefined;
                sort?: string | {
                    by?: string | undefined;
                    partition?: string | null | undefined;
                } | undefined;
                max_price?: {
                    prompt?: string | number | undefined;
                    completion?: string | number | undefined;
                    image?: string | number | undefined;
                    audio?: string | number | undefined;
                    request?: string | number | undefined;
                } | undefined;
                preferred_min_throughput?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
                preferred_max_latency?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
            } | undefined;
            vercelGatewayRouting?: {
                only?: string[] | undefined;
                order?: string[] | undefined;
            } | undefined;
            zaiToolStream?: boolean | undefined;
            thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
            supportsThinkingTokenBudget?: boolean | undefined;
            supportsMidConvoToolAdditions?: boolean | undefined;
            cacheControlFormat?: "anthropic" | undefined;
            vllmPriority?: number | undefined;
            supportsAdditionalTools?: boolean | undefined;
            supportsToolSearch?: boolean | undefined;
            supportsExplicitPromptCacheMode?: boolean | undefined;
            supportsMaxOutputTokens?: boolean | undefined;
            supportsEagerToolInputStreaming?: boolean | undefined;
            supportsCacheControlOnTools?: boolean | undefined;
            supportsTemperature?: boolean | undefined;
            forceAdaptiveThinking?: boolean | undefined;
            allowEmptySignature?: boolean | undefined;
            supportsStrictTools?: boolean | undefined;
            supportsMidConvoToolChanges?: boolean | undefined;
            supportsMessageThreads?: boolean | undefined;
            allowedFallbackModels?: {
                provider: string;
                model: string;
                cost: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    tiers?: {
                        input: number;
                        output: number;
                        cacheRead: number;
                        cacheWrite: number;
                        inputTokensAbove: number;
                    }[] | undefined;
                };
            }[] | undefined;
            imageInput?: "assets" | "images" | "state-image-urls" | undefined;
            sendImageOptInHeader?: boolean | undefined;
            supportsDeveloperRole?: boolean | undefined;
            supportsMidConvoSystemMessages?: boolean | undefined;
            sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
            promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
            supportsMidConvoEffort?: boolean | undefined;
            supportsLongCacheRetention?: boolean | undefined;
            supportsStrictMode?: boolean | undefined;
            supportsOpenAIGrammarTools?: boolean | undefined;
            sendSessionAffinityHeaders?: boolean | undefined;
        }>>;
    }>>>;
}>;
export declare const ModelsConfigSchema: Type.TObject<{
    providers: Type.TRecord<"^.*$", Type.TObject<{
        name: Type.TOptional<Type.TString>;
        baseUrl: Type.TOptional<Type.TString>;
        apiKey: Type.TOptional<Type.TString>;
        api: Type.TOptional<Type.TString>;
        oauth: Type.TOptional<Type.TLiteral<"radius">>;
        headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
        compat: Type.TOptional<Type.TUnsafe<{
            supportsStore?: boolean | undefined;
            supportsReasoningEffort?: boolean | undefined;
            supportsUsageInStreaming?: boolean | undefined;
            supportsFinishReason?: boolean | undefined;
            maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
            requiresToolResultName?: boolean | undefined;
            requiresAssistantAfterToolResult?: boolean | undefined;
            requiresNonNullAssistantContent?: boolean | undefined;
            requiresToolsWithToolHistory?: boolean | undefined;
            requiresThinkingAsText?: boolean | undefined;
            requiresReasoningContentOnAssistantMessages?: boolean | undefined;
            thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
            chatTemplateKwargs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            chatTemplateArgs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            openRouterRouting?: {
                allow_fallbacks?: boolean | undefined;
                require_parameters?: boolean | undefined;
                data_collection?: "allow" | "deny" | undefined;
                zdr?: boolean | undefined;
                enforce_distillable_text?: boolean | undefined;
                order?: string[] | undefined;
                only?: string[] | undefined;
                ignore?: string[] | undefined;
                quantizations?: string[] | undefined;
                sort?: string | {
                    by?: string | undefined;
                    partition?: string | null | undefined;
                } | undefined;
                max_price?: {
                    prompt?: string | number | undefined;
                    completion?: string | number | undefined;
                    image?: string | number | undefined;
                    audio?: string | number | undefined;
                    request?: string | number | undefined;
                } | undefined;
                preferred_min_throughput?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
                preferred_max_latency?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
            } | undefined;
            vercelGatewayRouting?: {
                only?: string[] | undefined;
                order?: string[] | undefined;
            } | undefined;
            zaiToolStream?: boolean | undefined;
            thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
            supportsThinkingTokenBudget?: boolean | undefined;
            supportsMidConvoToolAdditions?: boolean | undefined;
            cacheControlFormat?: "anthropic" | undefined;
            vllmPriority?: number | undefined;
            supportsAdditionalTools?: boolean | undefined;
            supportsToolSearch?: boolean | undefined;
            supportsExplicitPromptCacheMode?: boolean | undefined;
            supportsMaxOutputTokens?: boolean | undefined;
            supportsEagerToolInputStreaming?: boolean | undefined;
            supportsCacheControlOnTools?: boolean | undefined;
            supportsTemperature?: boolean | undefined;
            forceAdaptiveThinking?: boolean | undefined;
            allowEmptySignature?: boolean | undefined;
            supportsStrictTools?: boolean | undefined;
            supportsMidConvoToolChanges?: boolean | undefined;
            supportsMessageThreads?: boolean | undefined;
            allowedFallbackModels?: {
                provider: string;
                model: string;
                cost: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    tiers?: {
                        input: number;
                        output: number;
                        cacheRead: number;
                        cacheWrite: number;
                        inputTokensAbove: number;
                    }[] | undefined;
                };
            }[] | undefined;
            imageInput?: "assets" | "images" | "state-image-urls" | undefined;
            sendImageOptInHeader?: boolean | undefined;
            supportsDeveloperRole?: boolean | undefined;
            supportsMidConvoSystemMessages?: boolean | undefined;
            sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
            promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
            supportsMidConvoEffort?: boolean | undefined;
            supportsLongCacheRetention?: boolean | undefined;
            supportsStrictMode?: boolean | undefined;
            supportsOpenAIGrammarTools?: boolean | undefined;
            sendSessionAffinityHeaders?: boolean | undefined;
        }>>;
        authHeader: Type.TOptional<Type.TBoolean>;
        models: Type.TOptional<Type.TArray<Type.TObject<{
            id: Type.TString;
            name: Type.TOptional<Type.TString>;
            api: Type.TOptional<Type.TString>;
            baseUrl: Type.TOptional<Type.TString>;
            reasoning: Type.TOptional<Type.TBoolean>;
            thinkingLevelMap: Type.TOptional<Type.TUnsafe<{
                off?: string | null | undefined;
                minimal?: string | null | undefined;
                low?: string | null | undefined;
                medium?: string | null | undefined;
                high?: string | null | undefined;
                xhigh?: string | null | undefined;
                max?: string | null | undefined;
            }>>;
            input: Type.TOptional<Type.TArray<Type.TUnsafe<"image" | "text">>>;
            inputLimits: Type.TOptional<Type.TUnsafe<{
                maxRequestBytes?: number | undefined;
                images?: {
                    resize?: {
                        maxWidth?: number | undefined;
                        maxHeight?: number | undefined;
                        maxBytes?: number | undefined;
                        jpegQuality?: number | undefined;
                    } | undefined;
                    maxPerMessage?: number | undefined;
                    maxPerRequest?: number | undefined;
                } | undefined;
            }>>;
            cost: Type.TOptional<Type.TUnsafe<{
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                tiers?: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    inputTokensAbove: number;
                }[] | undefined;
            }>>;
            promptCache: Type.TOptional<Type.TUnsafe<{
                short?: number | undefined;
                long?: number | undefined;
            }>>;
            contextWindow: Type.TOptional<Type.TNumber>;
            maxTokens: Type.TOptional<Type.TNumber>;
            samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
                off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            }>>;
            headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
            compat: Type.TOptional<Type.TUnsafe<{
                supportsStore?: boolean | undefined;
                supportsReasoningEffort?: boolean | undefined;
                supportsUsageInStreaming?: boolean | undefined;
                supportsFinishReason?: boolean | undefined;
                maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
                requiresToolResultName?: boolean | undefined;
                requiresAssistantAfterToolResult?: boolean | undefined;
                requiresNonNullAssistantContent?: boolean | undefined;
                requiresToolsWithToolHistory?: boolean | undefined;
                requiresThinkingAsText?: boolean | undefined;
                requiresReasoningContentOnAssistantMessages?: boolean | undefined;
                thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
                chatTemplateKwargs?: Record<string, string | number | boolean | {
                    $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                    omitWhenOff?: boolean | undefined;
                } | null> | undefined;
                chatTemplateArgs?: Record<string, string | number | boolean | {
                    $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                    omitWhenOff?: boolean | undefined;
                } | null> | undefined;
                openRouterRouting?: {
                    allow_fallbacks?: boolean | undefined;
                    require_parameters?: boolean | undefined;
                    data_collection?: "allow" | "deny" | undefined;
                    zdr?: boolean | undefined;
                    enforce_distillable_text?: boolean | undefined;
                    order?: string[] | undefined;
                    only?: string[] | undefined;
                    ignore?: string[] | undefined;
                    quantizations?: string[] | undefined;
                    sort?: string | {
                        by?: string | undefined;
                        partition?: string | null | undefined;
                    } | undefined;
                    max_price?: {
                        prompt?: string | number | undefined;
                        completion?: string | number | undefined;
                        image?: string | number | undefined;
                        audio?: string | number | undefined;
                        request?: string | number | undefined;
                    } | undefined;
                    preferred_min_throughput?: number | {
                        p50?: number | undefined;
                        p75?: number | undefined;
                        p90?: number | undefined;
                        p99?: number | undefined;
                    } | undefined;
                    preferred_max_latency?: number | {
                        p50?: number | undefined;
                        p75?: number | undefined;
                        p90?: number | undefined;
                        p99?: number | undefined;
                    } | undefined;
                } | undefined;
                vercelGatewayRouting?: {
                    only?: string[] | undefined;
                    order?: string[] | undefined;
                } | undefined;
                zaiToolStream?: boolean | undefined;
                thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
                supportsThinkingTokenBudget?: boolean | undefined;
                supportsMidConvoToolAdditions?: boolean | undefined;
                cacheControlFormat?: "anthropic" | undefined;
                vllmPriority?: number | undefined;
                supportsAdditionalTools?: boolean | undefined;
                supportsToolSearch?: boolean | undefined;
                supportsExplicitPromptCacheMode?: boolean | undefined;
                supportsMaxOutputTokens?: boolean | undefined;
                supportsEagerToolInputStreaming?: boolean | undefined;
                supportsCacheControlOnTools?: boolean | undefined;
                supportsTemperature?: boolean | undefined;
                forceAdaptiveThinking?: boolean | undefined;
                allowEmptySignature?: boolean | undefined;
                supportsStrictTools?: boolean | undefined;
                supportsMidConvoToolChanges?: boolean | undefined;
                supportsMessageThreads?: boolean | undefined;
                allowedFallbackModels?: {
                    provider: string;
                    model: string;
                    cost: {
                        input: number;
                        output: number;
                        cacheRead: number;
                        cacheWrite: number;
                        tiers?: {
                            input: number;
                            output: number;
                            cacheRead: number;
                            cacheWrite: number;
                            inputTokensAbove: number;
                        }[] | undefined;
                    };
                }[] | undefined;
                imageInput?: "assets" | "images" | "state-image-urls" | undefined;
                sendImageOptInHeader?: boolean | undefined;
                supportsDeveloperRole?: boolean | undefined;
                supportsMidConvoSystemMessages?: boolean | undefined;
                sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
                promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
                supportsMidConvoEffort?: boolean | undefined;
                supportsLongCacheRetention?: boolean | undefined;
                supportsStrictMode?: boolean | undefined;
                supportsOpenAIGrammarTools?: boolean | undefined;
                sendSessionAffinityHeaders?: boolean | undefined;
            }>>;
        }>>>;
        modelOverrides: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
            name: Type.TOptional<Type.TString>;
            reasoning: Type.TOptional<Type.TBoolean>;
            thinkingLevelMap: Type.TOptional<Type.TUnsafe<{
                off?: string | null | undefined;
                minimal?: string | null | undefined;
                low?: string | null | undefined;
                medium?: string | null | undefined;
                high?: string | null | undefined;
                xhigh?: string | null | undefined;
                max?: string | null | undefined;
            }>>;
            input: Type.TOptional<Type.TArray<Type.TUnsafe<"image" | "text">>>;
            inputLimits: Type.TOptional<Type.TUnsafe<{
                maxRequestBytes?: number | undefined;
                images?: {
                    resize?: {
                        maxWidth?: number | undefined;
                        maxHeight?: number | undefined;
                        maxBytes?: number | undefined;
                        jpegQuality?: number | undefined;
                    } | undefined;
                    maxPerMessage?: number | undefined;
                    maxPerRequest?: number | undefined;
                } | undefined;
            }>>;
            cost: Type.TOptional<Type.TUnsafe<Partial<{
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                tiers?: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    inputTokensAbove: number;
                }[] | undefined;
            }>>>;
            promptCache: Type.TOptional<Type.TUnsafe<{
                short?: number | undefined;
                long?: number | undefined;
            }>>;
            contextWindow: Type.TOptional<Type.TNumber>;
            maxTokens: Type.TOptional<Type.TNumber>;
            samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
                off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            }>>;
            headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
            compat: Type.TOptional<Type.TUnsafe<{
                supportsStore?: boolean | undefined;
                supportsReasoningEffort?: boolean | undefined;
                supportsUsageInStreaming?: boolean | undefined;
                supportsFinishReason?: boolean | undefined;
                maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
                requiresToolResultName?: boolean | undefined;
                requiresAssistantAfterToolResult?: boolean | undefined;
                requiresNonNullAssistantContent?: boolean | undefined;
                requiresToolsWithToolHistory?: boolean | undefined;
                requiresThinkingAsText?: boolean | undefined;
                requiresReasoningContentOnAssistantMessages?: boolean | undefined;
                thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
                chatTemplateKwargs?: Record<string, string | number | boolean | {
                    $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                    omitWhenOff?: boolean | undefined;
                } | null> | undefined;
                chatTemplateArgs?: Record<string, string | number | boolean | {
                    $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                    omitWhenOff?: boolean | undefined;
                } | null> | undefined;
                openRouterRouting?: {
                    allow_fallbacks?: boolean | undefined;
                    require_parameters?: boolean | undefined;
                    data_collection?: "allow" | "deny" | undefined;
                    zdr?: boolean | undefined;
                    enforce_distillable_text?: boolean | undefined;
                    order?: string[] | undefined;
                    only?: string[] | undefined;
                    ignore?: string[] | undefined;
                    quantizations?: string[] | undefined;
                    sort?: string | {
                        by?: string | undefined;
                        partition?: string | null | undefined;
                    } | undefined;
                    max_price?: {
                        prompt?: string | number | undefined;
                        completion?: string | number | undefined;
                        image?: string | number | undefined;
                        audio?: string | number | undefined;
                        request?: string | number | undefined;
                    } | undefined;
                    preferred_min_throughput?: number | {
                        p50?: number | undefined;
                        p75?: number | undefined;
                        p90?: number | undefined;
                        p99?: number | undefined;
                    } | undefined;
                    preferred_max_latency?: number | {
                        p50?: number | undefined;
                        p75?: number | undefined;
                        p90?: number | undefined;
                        p99?: number | undefined;
                    } | undefined;
                } | undefined;
                vercelGatewayRouting?: {
                    only?: string[] | undefined;
                    order?: string[] | undefined;
                } | undefined;
                zaiToolStream?: boolean | undefined;
                thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
                supportsThinkingTokenBudget?: boolean | undefined;
                supportsMidConvoToolAdditions?: boolean | undefined;
                cacheControlFormat?: "anthropic" | undefined;
                vllmPriority?: number | undefined;
                supportsAdditionalTools?: boolean | undefined;
                supportsToolSearch?: boolean | undefined;
                supportsExplicitPromptCacheMode?: boolean | undefined;
                supportsMaxOutputTokens?: boolean | undefined;
                supportsEagerToolInputStreaming?: boolean | undefined;
                supportsCacheControlOnTools?: boolean | undefined;
                supportsTemperature?: boolean | undefined;
                forceAdaptiveThinking?: boolean | undefined;
                allowEmptySignature?: boolean | undefined;
                supportsStrictTools?: boolean | undefined;
                supportsMidConvoToolChanges?: boolean | undefined;
                supportsMessageThreads?: boolean | undefined;
                allowedFallbackModels?: {
                    provider: string;
                    model: string;
                    cost: {
                        input: number;
                        output: number;
                        cacheRead: number;
                        cacheWrite: number;
                        tiers?: {
                            input: number;
                            output: number;
                            cacheRead: number;
                            cacheWrite: number;
                            inputTokensAbove: number;
                        }[] | undefined;
                    };
                }[] | undefined;
                imageInput?: "assets" | "images" | "state-image-urls" | undefined;
                sendImageOptInHeader?: boolean | undefined;
                supportsDeveloperRole?: boolean | undefined;
                supportsMidConvoSystemMessages?: boolean | undefined;
                sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
                promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
                supportsMidConvoEffort?: boolean | undefined;
                supportsLongCacheRetention?: boolean | undefined;
                supportsStrictMode?: boolean | undefined;
                supportsOpenAIGrammarTools?: boolean | undefined;
                sendSessionAffinityHeaders?: boolean | undefined;
            }>>;
        }>>>;
    }>>;
    $schema: Type.TOptional<Type.TString>;
}>;
/** Entry schemas rendered into docs/models-configuration.md. */
export declare const ModelsJsonSchemas: {
    provider: Type.TObject<{
        name: Type.TOptional<Type.TString>;
        baseUrl: Type.TOptional<Type.TString>;
        apiKey: Type.TOptional<Type.TString>;
        api: Type.TOptional<Type.TString>;
        oauth: Type.TOptional<Type.TLiteral<"radius">>;
        headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
        compat: Type.TOptional<Type.TUnsafe<{
            supportsStore?: boolean | undefined;
            supportsReasoningEffort?: boolean | undefined;
            supportsUsageInStreaming?: boolean | undefined;
            supportsFinishReason?: boolean | undefined;
            maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
            requiresToolResultName?: boolean | undefined;
            requiresAssistantAfterToolResult?: boolean | undefined;
            requiresNonNullAssistantContent?: boolean | undefined;
            requiresToolsWithToolHistory?: boolean | undefined;
            requiresThinkingAsText?: boolean | undefined;
            requiresReasoningContentOnAssistantMessages?: boolean | undefined;
            thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
            chatTemplateKwargs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            chatTemplateArgs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            openRouterRouting?: {
                allow_fallbacks?: boolean | undefined;
                require_parameters?: boolean | undefined;
                data_collection?: "allow" | "deny" | undefined;
                zdr?: boolean | undefined;
                enforce_distillable_text?: boolean | undefined;
                order?: string[] | undefined;
                only?: string[] | undefined;
                ignore?: string[] | undefined;
                quantizations?: string[] | undefined;
                sort?: string | {
                    by?: string | undefined;
                    partition?: string | null | undefined;
                } | undefined;
                max_price?: {
                    prompt?: string | number | undefined;
                    completion?: string | number | undefined;
                    image?: string | number | undefined;
                    audio?: string | number | undefined;
                    request?: string | number | undefined;
                } | undefined;
                preferred_min_throughput?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
                preferred_max_latency?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
            } | undefined;
            vercelGatewayRouting?: {
                only?: string[] | undefined;
                order?: string[] | undefined;
            } | undefined;
            zaiToolStream?: boolean | undefined;
            thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
            supportsThinkingTokenBudget?: boolean | undefined;
            supportsMidConvoToolAdditions?: boolean | undefined;
            cacheControlFormat?: "anthropic" | undefined;
            vllmPriority?: number | undefined;
            supportsAdditionalTools?: boolean | undefined;
            supportsToolSearch?: boolean | undefined;
            supportsExplicitPromptCacheMode?: boolean | undefined;
            supportsMaxOutputTokens?: boolean | undefined;
            supportsEagerToolInputStreaming?: boolean | undefined;
            supportsCacheControlOnTools?: boolean | undefined;
            supportsTemperature?: boolean | undefined;
            forceAdaptiveThinking?: boolean | undefined;
            allowEmptySignature?: boolean | undefined;
            supportsStrictTools?: boolean | undefined;
            supportsMidConvoToolChanges?: boolean | undefined;
            supportsMessageThreads?: boolean | undefined;
            allowedFallbackModels?: {
                provider: string;
                model: string;
                cost: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    tiers?: {
                        input: number;
                        output: number;
                        cacheRead: number;
                        cacheWrite: number;
                        inputTokensAbove: number;
                    }[] | undefined;
                };
            }[] | undefined;
            imageInput?: "assets" | "images" | "state-image-urls" | undefined;
            sendImageOptInHeader?: boolean | undefined;
            supportsDeveloperRole?: boolean | undefined;
            supportsMidConvoSystemMessages?: boolean | undefined;
            sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
            promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
            supportsMidConvoEffort?: boolean | undefined;
            supportsLongCacheRetention?: boolean | undefined;
            supportsStrictMode?: boolean | undefined;
            supportsOpenAIGrammarTools?: boolean | undefined;
            sendSessionAffinityHeaders?: boolean | undefined;
        }>>;
        authHeader: Type.TOptional<Type.TBoolean>;
        models: Type.TOptional<Type.TArray<Type.TObject<{
            id: Type.TString;
            name: Type.TOptional<Type.TString>;
            api: Type.TOptional<Type.TString>;
            baseUrl: Type.TOptional<Type.TString>;
            reasoning: Type.TOptional<Type.TBoolean>;
            thinkingLevelMap: Type.TOptional<Type.TUnsafe<{
                off?: string | null | undefined;
                minimal?: string | null | undefined;
                low?: string | null | undefined;
                medium?: string | null | undefined;
                high?: string | null | undefined;
                xhigh?: string | null | undefined;
                max?: string | null | undefined;
            }>>;
            input: Type.TOptional<Type.TArray<Type.TUnsafe<"image" | "text">>>;
            inputLimits: Type.TOptional<Type.TUnsafe<{
                maxRequestBytes?: number | undefined;
                images?: {
                    resize?: {
                        maxWidth?: number | undefined;
                        maxHeight?: number | undefined;
                        maxBytes?: number | undefined;
                        jpegQuality?: number | undefined;
                    } | undefined;
                    maxPerMessage?: number | undefined;
                    maxPerRequest?: number | undefined;
                } | undefined;
            }>>;
            cost: Type.TOptional<Type.TUnsafe<{
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                tiers?: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    inputTokensAbove: number;
                }[] | undefined;
            }>>;
            promptCache: Type.TOptional<Type.TUnsafe<{
                short?: number | undefined;
                long?: number | undefined;
            }>>;
            contextWindow: Type.TOptional<Type.TNumber>;
            maxTokens: Type.TOptional<Type.TNumber>;
            samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
                off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            }>>;
            headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
            compat: Type.TOptional<Type.TUnsafe<{
                supportsStore?: boolean | undefined;
                supportsReasoningEffort?: boolean | undefined;
                supportsUsageInStreaming?: boolean | undefined;
                supportsFinishReason?: boolean | undefined;
                maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
                requiresToolResultName?: boolean | undefined;
                requiresAssistantAfterToolResult?: boolean | undefined;
                requiresNonNullAssistantContent?: boolean | undefined;
                requiresToolsWithToolHistory?: boolean | undefined;
                requiresThinkingAsText?: boolean | undefined;
                requiresReasoningContentOnAssistantMessages?: boolean | undefined;
                thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
                chatTemplateKwargs?: Record<string, string | number | boolean | {
                    $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                    omitWhenOff?: boolean | undefined;
                } | null> | undefined;
                chatTemplateArgs?: Record<string, string | number | boolean | {
                    $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                    omitWhenOff?: boolean | undefined;
                } | null> | undefined;
                openRouterRouting?: {
                    allow_fallbacks?: boolean | undefined;
                    require_parameters?: boolean | undefined;
                    data_collection?: "allow" | "deny" | undefined;
                    zdr?: boolean | undefined;
                    enforce_distillable_text?: boolean | undefined;
                    order?: string[] | undefined;
                    only?: string[] | undefined;
                    ignore?: string[] | undefined;
                    quantizations?: string[] | undefined;
                    sort?: string | {
                        by?: string | undefined;
                        partition?: string | null | undefined;
                    } | undefined;
                    max_price?: {
                        prompt?: string | number | undefined;
                        completion?: string | number | undefined;
                        image?: string | number | undefined;
                        audio?: string | number | undefined;
                        request?: string | number | undefined;
                    } | undefined;
                    preferred_min_throughput?: number | {
                        p50?: number | undefined;
                        p75?: number | undefined;
                        p90?: number | undefined;
                        p99?: number | undefined;
                    } | undefined;
                    preferred_max_latency?: number | {
                        p50?: number | undefined;
                        p75?: number | undefined;
                        p90?: number | undefined;
                        p99?: number | undefined;
                    } | undefined;
                } | undefined;
                vercelGatewayRouting?: {
                    only?: string[] | undefined;
                    order?: string[] | undefined;
                } | undefined;
                zaiToolStream?: boolean | undefined;
                thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
                supportsThinkingTokenBudget?: boolean | undefined;
                supportsMidConvoToolAdditions?: boolean | undefined;
                cacheControlFormat?: "anthropic" | undefined;
                vllmPriority?: number | undefined;
                supportsAdditionalTools?: boolean | undefined;
                supportsToolSearch?: boolean | undefined;
                supportsExplicitPromptCacheMode?: boolean | undefined;
                supportsMaxOutputTokens?: boolean | undefined;
                supportsEagerToolInputStreaming?: boolean | undefined;
                supportsCacheControlOnTools?: boolean | undefined;
                supportsTemperature?: boolean | undefined;
                forceAdaptiveThinking?: boolean | undefined;
                allowEmptySignature?: boolean | undefined;
                supportsStrictTools?: boolean | undefined;
                supportsMidConvoToolChanges?: boolean | undefined;
                supportsMessageThreads?: boolean | undefined;
                allowedFallbackModels?: {
                    provider: string;
                    model: string;
                    cost: {
                        input: number;
                        output: number;
                        cacheRead: number;
                        cacheWrite: number;
                        tiers?: {
                            input: number;
                            output: number;
                            cacheRead: number;
                            cacheWrite: number;
                            inputTokensAbove: number;
                        }[] | undefined;
                    };
                }[] | undefined;
                imageInput?: "assets" | "images" | "state-image-urls" | undefined;
                sendImageOptInHeader?: boolean | undefined;
                supportsDeveloperRole?: boolean | undefined;
                supportsMidConvoSystemMessages?: boolean | undefined;
                sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
                promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
                supportsMidConvoEffort?: boolean | undefined;
                supportsLongCacheRetention?: boolean | undefined;
                supportsStrictMode?: boolean | undefined;
                supportsOpenAIGrammarTools?: boolean | undefined;
                sendSessionAffinityHeaders?: boolean | undefined;
            }>>;
        }>>>;
        modelOverrides: Type.TOptional<Type.TRecord<"^.*$", Type.TObject<{
            name: Type.TOptional<Type.TString>;
            reasoning: Type.TOptional<Type.TBoolean>;
            thinkingLevelMap: Type.TOptional<Type.TUnsafe<{
                off?: string | null | undefined;
                minimal?: string | null | undefined;
                low?: string | null | undefined;
                medium?: string | null | undefined;
                high?: string | null | undefined;
                xhigh?: string | null | undefined;
                max?: string | null | undefined;
            }>>;
            input: Type.TOptional<Type.TArray<Type.TUnsafe<"image" | "text">>>;
            inputLimits: Type.TOptional<Type.TUnsafe<{
                maxRequestBytes?: number | undefined;
                images?: {
                    resize?: {
                        maxWidth?: number | undefined;
                        maxHeight?: number | undefined;
                        maxBytes?: number | undefined;
                        jpegQuality?: number | undefined;
                    } | undefined;
                    maxPerMessage?: number | undefined;
                    maxPerRequest?: number | undefined;
                } | undefined;
            }>>;
            cost: Type.TOptional<Type.TUnsafe<Partial<{
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                tiers?: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    inputTokensAbove: number;
                }[] | undefined;
            }>>>;
            promptCache: Type.TOptional<Type.TUnsafe<{
                short?: number | undefined;
                long?: number | undefined;
            }>>;
            contextWindow: Type.TOptional<Type.TNumber>;
            maxTokens: Type.TOptional<Type.TNumber>;
            samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
                off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
                max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            }>>;
            headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
            compat: Type.TOptional<Type.TUnsafe<{
                supportsStore?: boolean | undefined;
                supportsReasoningEffort?: boolean | undefined;
                supportsUsageInStreaming?: boolean | undefined;
                supportsFinishReason?: boolean | undefined;
                maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
                requiresToolResultName?: boolean | undefined;
                requiresAssistantAfterToolResult?: boolean | undefined;
                requiresNonNullAssistantContent?: boolean | undefined;
                requiresToolsWithToolHistory?: boolean | undefined;
                requiresThinkingAsText?: boolean | undefined;
                requiresReasoningContentOnAssistantMessages?: boolean | undefined;
                thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
                chatTemplateKwargs?: Record<string, string | number | boolean | {
                    $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                    omitWhenOff?: boolean | undefined;
                } | null> | undefined;
                chatTemplateArgs?: Record<string, string | number | boolean | {
                    $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                    omitWhenOff?: boolean | undefined;
                } | null> | undefined;
                openRouterRouting?: {
                    allow_fallbacks?: boolean | undefined;
                    require_parameters?: boolean | undefined;
                    data_collection?: "allow" | "deny" | undefined;
                    zdr?: boolean | undefined;
                    enforce_distillable_text?: boolean | undefined;
                    order?: string[] | undefined;
                    only?: string[] | undefined;
                    ignore?: string[] | undefined;
                    quantizations?: string[] | undefined;
                    sort?: string | {
                        by?: string | undefined;
                        partition?: string | null | undefined;
                    } | undefined;
                    max_price?: {
                        prompt?: string | number | undefined;
                        completion?: string | number | undefined;
                        image?: string | number | undefined;
                        audio?: string | number | undefined;
                        request?: string | number | undefined;
                    } | undefined;
                    preferred_min_throughput?: number | {
                        p50?: number | undefined;
                        p75?: number | undefined;
                        p90?: number | undefined;
                        p99?: number | undefined;
                    } | undefined;
                    preferred_max_latency?: number | {
                        p50?: number | undefined;
                        p75?: number | undefined;
                        p90?: number | undefined;
                        p99?: number | undefined;
                    } | undefined;
                } | undefined;
                vercelGatewayRouting?: {
                    only?: string[] | undefined;
                    order?: string[] | undefined;
                } | undefined;
                zaiToolStream?: boolean | undefined;
                thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
                supportsThinkingTokenBudget?: boolean | undefined;
                supportsMidConvoToolAdditions?: boolean | undefined;
                cacheControlFormat?: "anthropic" | undefined;
                vllmPriority?: number | undefined;
                supportsAdditionalTools?: boolean | undefined;
                supportsToolSearch?: boolean | undefined;
                supportsExplicitPromptCacheMode?: boolean | undefined;
                supportsMaxOutputTokens?: boolean | undefined;
                supportsEagerToolInputStreaming?: boolean | undefined;
                supportsCacheControlOnTools?: boolean | undefined;
                supportsTemperature?: boolean | undefined;
                forceAdaptiveThinking?: boolean | undefined;
                allowEmptySignature?: boolean | undefined;
                supportsStrictTools?: boolean | undefined;
                supportsMidConvoToolChanges?: boolean | undefined;
                supportsMessageThreads?: boolean | undefined;
                allowedFallbackModels?: {
                    provider: string;
                    model: string;
                    cost: {
                        input: number;
                        output: number;
                        cacheRead: number;
                        cacheWrite: number;
                        tiers?: {
                            input: number;
                            output: number;
                            cacheRead: number;
                            cacheWrite: number;
                            inputTokensAbove: number;
                        }[] | undefined;
                    };
                }[] | undefined;
                imageInput?: "assets" | "images" | "state-image-urls" | undefined;
                sendImageOptInHeader?: boolean | undefined;
                supportsDeveloperRole?: boolean | undefined;
                supportsMidConvoSystemMessages?: boolean | undefined;
                sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
                promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
                supportsMidConvoEffort?: boolean | undefined;
                supportsLongCacheRetention?: boolean | undefined;
                supportsStrictMode?: boolean | undefined;
                supportsOpenAIGrammarTools?: boolean | undefined;
                sendSessionAffinityHeaders?: boolean | undefined;
            }>>;
        }>>>;
    }>;
    model: Type.TObject<{
        id: Type.TString;
        name: Type.TOptional<Type.TString>;
        api: Type.TOptional<Type.TString>;
        baseUrl: Type.TOptional<Type.TString>;
        reasoning: Type.TOptional<Type.TBoolean>;
        thinkingLevelMap: Type.TOptional<Type.TUnsafe<{
            off?: string | null | undefined;
            minimal?: string | null | undefined;
            low?: string | null | undefined;
            medium?: string | null | undefined;
            high?: string | null | undefined;
            xhigh?: string | null | undefined;
            max?: string | null | undefined;
        }>>;
        input: Type.TOptional<Type.TArray<Type.TUnsafe<"image" | "text">>>;
        inputLimits: Type.TOptional<Type.TUnsafe<{
            maxRequestBytes?: number | undefined;
            images?: {
                resize?: {
                    maxWidth?: number | undefined;
                    maxHeight?: number | undefined;
                    maxBytes?: number | undefined;
                    jpegQuality?: number | undefined;
                } | undefined;
                maxPerMessage?: number | undefined;
                maxPerRequest?: number | undefined;
            } | undefined;
        }>>;
        cost: Type.TOptional<Type.TUnsafe<{
            input: number;
            output: number;
            cacheRead: number;
            cacheWrite: number;
            tiers?: {
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                inputTokensAbove: number;
            }[] | undefined;
        }>>;
        promptCache: Type.TOptional<Type.TUnsafe<{
            short?: number | undefined;
            long?: number | undefined;
        }>>;
        contextWindow: Type.TOptional<Type.TNumber>;
        maxTokens: Type.TOptional<Type.TNumber>;
        samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
            off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        }>>;
        headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
        compat: Type.TOptional<Type.TUnsafe<{
            supportsStore?: boolean | undefined;
            supportsReasoningEffort?: boolean | undefined;
            supportsUsageInStreaming?: boolean | undefined;
            supportsFinishReason?: boolean | undefined;
            maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
            requiresToolResultName?: boolean | undefined;
            requiresAssistantAfterToolResult?: boolean | undefined;
            requiresNonNullAssistantContent?: boolean | undefined;
            requiresToolsWithToolHistory?: boolean | undefined;
            requiresThinkingAsText?: boolean | undefined;
            requiresReasoningContentOnAssistantMessages?: boolean | undefined;
            thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
            chatTemplateKwargs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            chatTemplateArgs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            openRouterRouting?: {
                allow_fallbacks?: boolean | undefined;
                require_parameters?: boolean | undefined;
                data_collection?: "allow" | "deny" | undefined;
                zdr?: boolean | undefined;
                enforce_distillable_text?: boolean | undefined;
                order?: string[] | undefined;
                only?: string[] | undefined;
                ignore?: string[] | undefined;
                quantizations?: string[] | undefined;
                sort?: string | {
                    by?: string | undefined;
                    partition?: string | null | undefined;
                } | undefined;
                max_price?: {
                    prompt?: string | number | undefined;
                    completion?: string | number | undefined;
                    image?: string | number | undefined;
                    audio?: string | number | undefined;
                    request?: string | number | undefined;
                } | undefined;
                preferred_min_throughput?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
                preferred_max_latency?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
            } | undefined;
            vercelGatewayRouting?: {
                only?: string[] | undefined;
                order?: string[] | undefined;
            } | undefined;
            zaiToolStream?: boolean | undefined;
            thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
            supportsThinkingTokenBudget?: boolean | undefined;
            supportsMidConvoToolAdditions?: boolean | undefined;
            cacheControlFormat?: "anthropic" | undefined;
            vllmPriority?: number | undefined;
            supportsAdditionalTools?: boolean | undefined;
            supportsToolSearch?: boolean | undefined;
            supportsExplicitPromptCacheMode?: boolean | undefined;
            supportsMaxOutputTokens?: boolean | undefined;
            supportsEagerToolInputStreaming?: boolean | undefined;
            supportsCacheControlOnTools?: boolean | undefined;
            supportsTemperature?: boolean | undefined;
            forceAdaptiveThinking?: boolean | undefined;
            allowEmptySignature?: boolean | undefined;
            supportsStrictTools?: boolean | undefined;
            supportsMidConvoToolChanges?: boolean | undefined;
            supportsMessageThreads?: boolean | undefined;
            allowedFallbackModels?: {
                provider: string;
                model: string;
                cost: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    tiers?: {
                        input: number;
                        output: number;
                        cacheRead: number;
                        cacheWrite: number;
                        inputTokensAbove: number;
                    }[] | undefined;
                };
            }[] | undefined;
            imageInput?: "assets" | "images" | "state-image-urls" | undefined;
            sendImageOptInHeader?: boolean | undefined;
            supportsDeveloperRole?: boolean | undefined;
            supportsMidConvoSystemMessages?: boolean | undefined;
            sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
            promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
            supportsMidConvoEffort?: boolean | undefined;
            supportsLongCacheRetention?: boolean | undefined;
            supportsStrictMode?: boolean | undefined;
            supportsOpenAIGrammarTools?: boolean | undefined;
            sendSessionAffinityHeaders?: boolean | undefined;
        }>>;
    }>;
    modelOverride: Type.TObject<{
        name: Type.TOptional<Type.TString>;
        reasoning: Type.TOptional<Type.TBoolean>;
        thinkingLevelMap: Type.TOptional<Type.TUnsafe<{
            off?: string | null | undefined;
            minimal?: string | null | undefined;
            low?: string | null | undefined;
            medium?: string | null | undefined;
            high?: string | null | undefined;
            xhigh?: string | null | undefined;
            max?: string | null | undefined;
        }>>;
        input: Type.TOptional<Type.TArray<Type.TUnsafe<"image" | "text">>>;
        inputLimits: Type.TOptional<Type.TUnsafe<{
            maxRequestBytes?: number | undefined;
            images?: {
                resize?: {
                    maxWidth?: number | undefined;
                    maxHeight?: number | undefined;
                    maxBytes?: number | undefined;
                    jpegQuality?: number | undefined;
                } | undefined;
                maxPerMessage?: number | undefined;
                maxPerRequest?: number | undefined;
            } | undefined;
        }>>;
        cost: Type.TOptional<Type.TUnsafe<Partial<{
            input: number;
            output: number;
            cacheRead: number;
            cacheWrite: number;
            tiers?: {
                input: number;
                output: number;
                cacheRead: number;
                cacheWrite: number;
                inputTokensAbove: number;
            }[] | undefined;
        }>>>;
        promptCache: Type.TOptional<Type.TUnsafe<{
            short?: number | undefined;
            long?: number | undefined;
        }>>;
        contextWindow: Type.TOptional<Type.TNumber>;
        maxTokens: Type.TOptional<Type.TNumber>;
        samplingParams: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        samplingParamsByThinkingLevel: Type.TOptional<Type.TObject<{
            off: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            minimal: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            low: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            medium: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            high: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            xhigh: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
            max: Type.TOptional<Type.TRecord<"^.*$", Type.TUnknown>>;
        }>>;
        headers: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>;
        compat: Type.TOptional<Type.TUnsafe<{
            supportsStore?: boolean | undefined;
            supportsReasoningEffort?: boolean | undefined;
            supportsUsageInStreaming?: boolean | undefined;
            supportsFinishReason?: boolean | undefined;
            maxTokensField?: "max_completion_tokens" | "max_tokens" | undefined;
            requiresToolResultName?: boolean | undefined;
            requiresAssistantAfterToolResult?: boolean | undefined;
            requiresNonNullAssistantContent?: boolean | undefined;
            requiresToolsWithToolHistory?: boolean | undefined;
            requiresThinkingAsText?: boolean | undefined;
            requiresReasoningContentOnAssistantMessages?: boolean | undefined;
            thinkingFormat?: "ant-ling" | "baseten" | "chat-template" | "deepseek" | "openai" | "openrouter" | "qwen" | "qwen-chat-template" | "string-thinking" | "together" | "zai" | undefined;
            chatTemplateKwargs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            chatTemplateArgs?: Record<string, string | number | boolean | {
                $var: "thinking.budget" | "thinking.effort" | "thinking.enabled";
                omitWhenOff?: boolean | undefined;
            } | null> | undefined;
            openRouterRouting?: {
                allow_fallbacks?: boolean | undefined;
                require_parameters?: boolean | undefined;
                data_collection?: "allow" | "deny" | undefined;
                zdr?: boolean | undefined;
                enforce_distillable_text?: boolean | undefined;
                order?: string[] | undefined;
                only?: string[] | undefined;
                ignore?: string[] | undefined;
                quantizations?: string[] | undefined;
                sort?: string | {
                    by?: string | undefined;
                    partition?: string | null | undefined;
                } | undefined;
                max_price?: {
                    prompt?: string | number | undefined;
                    completion?: string | number | undefined;
                    image?: string | number | undefined;
                    audio?: string | number | undefined;
                    request?: string | number | undefined;
                } | undefined;
                preferred_min_throughput?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
                preferred_max_latency?: number | {
                    p50?: number | undefined;
                    p75?: number | undefined;
                    p90?: number | undefined;
                    p99?: number | undefined;
                } | undefined;
            } | undefined;
            vercelGatewayRouting?: {
                only?: string[] | undefined;
                order?: string[] | undefined;
            } | undefined;
            zaiToolStream?: boolean | undefined;
            thinkingTokenBudgetField?: "thinking_budget" | "thinking_budget_tokens" | "thinking_token_budget" | undefined;
            supportsThinkingTokenBudget?: boolean | undefined;
            supportsMidConvoToolAdditions?: boolean | undefined;
            cacheControlFormat?: "anthropic" | undefined;
            vllmPriority?: number | undefined;
            supportsAdditionalTools?: boolean | undefined;
            supportsToolSearch?: boolean | undefined;
            supportsExplicitPromptCacheMode?: boolean | undefined;
            supportsMaxOutputTokens?: boolean | undefined;
            supportsEagerToolInputStreaming?: boolean | undefined;
            supportsCacheControlOnTools?: boolean | undefined;
            supportsTemperature?: boolean | undefined;
            forceAdaptiveThinking?: boolean | undefined;
            allowEmptySignature?: boolean | undefined;
            supportsStrictTools?: boolean | undefined;
            supportsMidConvoToolChanges?: boolean | undefined;
            supportsMessageThreads?: boolean | undefined;
            allowedFallbackModels?: {
                provider: string;
                model: string;
                cost: {
                    input: number;
                    output: number;
                    cacheRead: number;
                    cacheWrite: number;
                    tiers?: {
                        input: number;
                        output: number;
                        cacheRead: number;
                        cacheWrite: number;
                        inputTokensAbove: number;
                    }[] | undefined;
                };
            }[] | undefined;
            imageInput?: "assets" | "images" | "state-image-urls" | undefined;
            sendImageOptInHeader?: boolean | undefined;
            supportsDeveloperRole?: boolean | undefined;
            supportsMidConvoSystemMessages?: boolean | undefined;
            sessionAffinityFormat?: "openai" | "openai-nosession" | "openrouter" | undefined;
            promptCacheKeyMode?: "auto" | "disabled" | "enabled" | undefined;
            supportsMidConvoEffort?: boolean | undefined;
            supportsLongCacheRetention?: boolean | undefined;
            supportsStrictMode?: boolean | undefined;
            supportsOpenAIGrammarTools?: boolean | undefined;
            sendSessionAffinityHeaders?: boolean | undefined;
        }>>;
    }>;
};
export type ModelsJsonModel = Static<typeof ModelDefinitionSchema>;
export type ModelsJsonModelOverride = Static<typeof ModelOverrideSchema>;
export type ModelsJsonProvider = Static<typeof ProviderConfigSchema>;
/** One immutable load of models.json. */
export declare class ModelConfig {
    private readonly providers;
    private readonly error;
    private constructor();
    static load(modelsJsonPath: string | undefined): Promise<ModelConfig>;
    getProvider(providerId: string): ModelsJsonProvider | undefined;
    getProviderIds(): readonly string[];
    getError(): string | undefined;
}
export {};
//# sourceMappingURL=model-config.d.ts.map