import { ModelReference, z, GenerateRequest, StreamingCallback, GenerateResponseData } from 'genkit';
import { ModelInfo, ModelAction, GenerateResponseChunkData } from 'genkit/model';
import { ClaudeModelParams, AnthropicConfigSchemaType, AnthropicConfigSchema, ClaudeRunnerParams } from './types.js';
import '@anthropic-ai/sdk';
import '@anthropic-ai/sdk/resources/messages';

/**
 * Copyright 2024 Bloom Labs Inc
 * Copyright 2025 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

type ConfigSchemaType = AnthropicConfigSchemaType;
/**
 * Generic Claude model info for unknown/unsupported models.
 * Used when a model name is not in KNOWN_CLAUDE_MODELS.
 */
declare const GENERIC_MODEL_INFO: ModelInfo;
/**
 * Advanced Claude model info for models that support JSON output.
 */
declare const ADVANCED_MODEL_INFO: ModelInfo;
declare const KNOWN_MODELS: {
    readonly 'claude-opus-4-7': ModelReference<z.ZodObject<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">>>;
    readonly 'claude-opus-4-6': ModelReference<z.ZodObject<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">>>;
    readonly 'claude-opus-4-5': ModelReference<z.ZodObject<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">>>;
    readonly 'claude-haiku-4-5': ModelReference<z.ZodObject<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">>>;
    readonly 'claude-sonnet-4-6': ModelReference<z.ZodObject<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">>>;
    readonly 'claude-sonnet-4-5': ModelReference<z.ZodObject<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">>>;
    readonly 'claude-opus-4-1': ModelReference<z.ZodObject<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">>>;
    readonly 'claude-sonnet-4': ModelReference<z.ZodObject<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">>>;
    readonly 'claude-opus-4': ModelReference<z.ZodObject<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        version: z.ZodOptional<z.ZodString>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        apiKey: z.ZodOptional<z.ZodString>;
    } & {
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"auto">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"auto">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"any">;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"any">;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            type: z.ZodLiteral<"tool">;
            name: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>]>>;
        metadata: z.ZodOptional<z.ZodObject<{
            user_id: z.ZodOptional<z.ZodString>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            user_id: z.ZodOptional<z.ZodString>;
        }, z.ZodTypeAny, "passthrough">>>;
        apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
        thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            budgetTokens: z.ZodOptional<z.ZodNumber>;
            adaptive: z.ZodOptional<z.ZodBoolean>;
            display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
        }, z.ZodTypeAny, "passthrough">>>;
        output_config: z.ZodOptional<z.ZodObject<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
            task_budget: z.ZodOptional<z.ZodObject<{
                type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                total: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "tokens";
                total: number;
            }, {
                total: number;
                type?: "tokens" | undefined;
            }>>;
        }, z.ZodTypeAny, "passthrough">>>;
    }, z.ZodTypeAny, "passthrough">>>;
};
type KnownClaudeModels = keyof typeof KNOWN_MODELS;
type ClaudeModelName = `claude-${string}`;
declare function listKnownModels(client: any, defaultApiVersion?: 'stable' | 'beta'): ModelAction<ConfigSchemaType>[];
/**
 * Creates the runner used by Genkit to interact with the Claude model.
 * @param params Configuration for the Claude runner.
 * @param configSchema The config schema for this model (used for type inference).
 * @returns The runner that Genkit will call when the model is invoked.
 */
declare function claudeRunner<TConfigSchema extends z.ZodTypeAny>(params: ClaudeRunnerParams, configSchema: TConfigSchema): (request: GenerateRequest<TConfigSchema>, { streamingRequested, sendChunk, abortSignal, }: {
    streamingRequested: boolean;
    sendChunk: StreamingCallback<GenerateResponseChunkData>;
    abortSignal: AbortSignal;
}) => Promise<GenerateResponseData>;
/**
 * Creates a model reference for a Claude model.
 * This allows referencing models without initializing the plugin.
 */
declare function claudeModelReference(name: string, config?: z.infer<typeof AnthropicConfigSchema>): ModelReference<ConfigSchemaType>;
/**
 * Defines a Claude model with the given name and Anthropic client.
 * Accepts any model name and lets the API validate it. If the model is in KNOWN_CLAUDE_MODELS, uses that modelRef
 * for better defaults; otherwise creates a generic model reference.
 */
declare function claudeModel(params: ClaudeModelParams): ModelAction<ConfigSchemaType>;
declare const TEST_ONLY: {
    KNOWN_MODELS: {
        readonly 'claude-opus-4-7': ModelReference<z.ZodObject<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">>>;
        readonly 'claude-opus-4-6': ModelReference<z.ZodObject<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">>>;
        readonly 'claude-opus-4-5': ModelReference<z.ZodObject<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">>>;
        readonly 'claude-haiku-4-5': ModelReference<z.ZodObject<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">>>;
        readonly 'claude-sonnet-4-6': ModelReference<z.ZodObject<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">>>;
        readonly 'claude-sonnet-4-5': ModelReference<z.ZodObject<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">>>;
        readonly 'claude-opus-4-1': ModelReference<z.ZodObject<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">>>;
        readonly 'claude-sonnet-4': ModelReference<z.ZodObject<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">>>;
        readonly 'claude-opus-4': ModelReference<z.ZodObject<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            version: z.ZodOptional<z.ZodString>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            stopSequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            apiKey: z.ZodOptional<z.ZodString>;
        } & {
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"auto">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"auto">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"any">;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"any">;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"tool">;
                name: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>]>>;
            metadata: z.ZodOptional<z.ZodObject<{
                user_id: z.ZodOptional<z.ZodString>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                user_id: z.ZodOptional<z.ZodString>;
            }, z.ZodTypeAny, "passthrough">>>;
            apiVersion: z.ZodOptional<z.ZodEnum<["stable", "beta"]>>;
            thinking: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                enabled: z.ZodOptional<z.ZodBoolean>;
                budgetTokens: z.ZodOptional<z.ZodNumber>;
                adaptive: z.ZodOptional<z.ZodBoolean>;
                display: z.ZodOptional<z.ZodEnum<["summarized", "omitted"]>>;
            }, z.ZodTypeAny, "passthrough">>>;
            output_config: z.ZodOptional<z.ZodObject<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                effort: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "xhigh"]>>;
                task_budget: z.ZodOptional<z.ZodObject<{
                    type: z.ZodDefault<z.ZodLiteral<"tokens">>;
                    total: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    type: "tokens";
                    total: number;
                }, {
                    total: number;
                    type?: "tokens" | undefined;
                }>>;
            }, z.ZodTypeAny, "passthrough">>>;
        }, z.ZodTypeAny, "passthrough">>>;
    };
};

export { ADVANCED_MODEL_INFO, type ClaudeModelName, GENERIC_MODEL_INFO, type KnownClaudeModels, TEST_ONLY, claudeModel, claudeModelReference, claudeRunner, listKnownModels };
