/**
 * pi-ai's configuration schemas (built with pi-schema) as TypeBox schemas, for the coding agent's own TypeBox-built
 * configuration schemas (models.json, settings.json): the same JSON, typed for TypeBox's `Static`.
 */
import { Type } from "typebox";
export declare const ProviderCompatSchema: 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 ModelCostSchema: Type.TUnsafe<{
    input: number;
    output: number;
    cacheRead: number;
    cacheWrite: number;
    tiers?: {
        input: number;
        output: number;
        cacheRead: number;
        cacheWrite: number;
        inputTokensAbove: number;
    }[] | undefined;
}>;
export declare const ModelInputLimitsSchema: 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;
}>;
export declare const ModelInputModalitySchema: Type.TUnsafe<"image" | "text">;
export declare const ModelPromptCacheSchema: Type.TUnsafe<{
    short?: number | undefined;
    long?: number | undefined;
}>;
export declare const ModelThinkingLevelSchema: Type.TUnsafe<"high" | "low" | "max" | "medium" | "minimal" | "off" | "xhigh">;
export declare const ThinkingLevelMapSchema: 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;
}>;
/** `ModelCostSchema` with every field optional, for model overrides that change some of the rates. */
export declare const PartialModelCostSchema: Type.TUnsafe<Partial<{
    input: number;
    output: number;
    cacheRead: number;
    cacheWrite: number;
    tiers?: {
        input: number;
        output: number;
        cacheRead: number;
        cacheWrite: number;
        inputTokensAbove: number;
    }[] | undefined;
}>>;
//# sourceMappingURL=pi-ai-schemas.d.ts.map