import { z } from 'zod/v3';

declare const ResponseFormatJsonSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    name: string;
    description?: string | undefined;
    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
    strict?: boolean | null | undefined;
}, {
    name: string;
    description?: string | undefined;
    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
    strict?: boolean | null | undefined;
}>;
type ResponseFormatJsonSchemaType = z.infer<typeof ResponseFormatJsonSchema>;
declare const AnyModelParams: z.ZodObject<{
    temperature: z.ZodOptional<z.ZodNumber>;
    top_p: z.ZodOptional<z.ZodNumber>;
    max_tokens: z.ZodNumber;
    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
    frequency_penalty: z.ZodOptional<z.ZodNumber>;
    presence_penalty: z.ZodOptional<z.ZodNumber>;
    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"json_object">;
    }, "strip", z.ZodTypeAny, {
        type: "json_object";
    }, {
        type: "json_object";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"json_schema">;
        json_schema: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        }, {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "json_schema";
        json_schema: {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        };
    }, {
        type: "json_schema";
        json_schema: {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        };
    }>, z.ZodObject<{
        type: z.ZodLiteral<"text">;
    }, "strip", z.ZodTypeAny, {
        type: "text";
    }, {
        type: "text";
    }>, z.ZodNull]>>;
    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        function: {
            name: string;
        };
        type: "function";
    }, {
        function: {
            name: string;
        };
        type: "function";
    }>]>>;
    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
    }, {
        name: string;
    }>]>>;
    n: z.ZodOptional<z.ZodNumber>;
    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    top_k: z.ZodOptional<z.ZodNumber>;
    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
    topP: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
    use_cache: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    max_tokens: number;
    temperature?: number | undefined;
    top_p?: number | undefined;
    max_completion_tokens?: number | undefined;
    frequency_penalty?: number | undefined;
    presence_penalty?: number | undefined;
    response_format?: {
        type: "json_object";
    } | {
        type: "json_schema";
        json_schema: {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        };
    } | {
        type: "text";
    } | null | undefined;
    tool_choice?: "auto" | "none" | "required" | {
        function: {
            name: string;
        };
        type: "function";
    } | undefined;
    function_call?: "auto" | "none" | {
        name: string;
    } | undefined;
    n?: number | undefined;
    stop?: string[] | undefined;
    reasoning_effort?: "none" | "minimal" | "low" | "medium" | "high" | undefined;
    verbosity?: "low" | "medium" | "high" | undefined;
    top_k?: number | undefined;
    stop_sequences?: string[] | undefined;
    reasoning_enabled?: boolean | undefined;
    reasoning_budget?: number | undefined;
    max_tokens_to_sample?: number | undefined;
    maxOutputTokens?: number | undefined;
    topP?: number | undefined;
    topK?: number | undefined;
    use_cache?: boolean | undefined;
}, {
    max_tokens: number;
    temperature?: number | undefined;
    top_p?: number | undefined;
    max_completion_tokens?: number | undefined;
    frequency_penalty?: number | undefined;
    presence_penalty?: number | undefined;
    response_format?: {
        type: "json_object";
    } | {
        type: "json_schema";
        json_schema: {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        };
    } | {
        type: "text";
    } | null | undefined;
    tool_choice?: "auto" | "none" | "required" | {
        function: {
            name: string;
        };
        type: "function";
    } | undefined;
    function_call?: "auto" | "none" | {
        name: string;
    } | undefined;
    n?: number | undefined;
    stop?: string[] | undefined;
    reasoning_effort?: "none" | "minimal" | "low" | "medium" | "high" | undefined;
    verbosity?: "low" | "medium" | "high" | undefined;
    top_k?: number | undefined;
    stop_sequences?: string[] | undefined;
    reasoning_enabled?: boolean | undefined;
    reasoning_budget?: number | undefined;
    max_tokens_to_sample?: number | undefined;
    maxOutputTokens?: number | undefined;
    topP?: number | undefined;
    topK?: number | undefined;
    use_cache?: boolean | undefined;
}>;
type AnyModelParamsType = z.infer<typeof AnyModelParams>;
declare const BraintrustAttachmentReference: z.ZodObject<{
    type: z.ZodLiteral<"braintrust_attachment">;
    filename: z.ZodString;
    content_type: z.ZodString;
    key: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "braintrust_attachment";
    key: string;
    filename: string;
    content_type: string;
}, {
    type: "braintrust_attachment";
    key: string;
    filename: string;
    content_type: string;
}>;
type BraintrustAttachmentReferenceType = z.infer<typeof BraintrustAttachmentReference>;
declare const ExternalAttachmentReference: z.ZodObject<{
    type: z.ZodLiteral<"external_attachment">;
    filename: z.ZodString;
    content_type: z.ZodString;
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "external_attachment";
    filename: string;
    content_type: string;
    url: string;
}, {
    type: "external_attachment";
    filename: string;
    content_type: string;
    url: string;
}>;
type ExternalAttachmentReferenceType = z.infer<typeof ExternalAttachmentReference>;
declare const AttachmentReference: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
    type: z.ZodLiteral<"braintrust_attachment">;
    filename: z.ZodString;
    content_type: z.ZodString;
    key: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "braintrust_attachment";
    key: string;
    filename: string;
    content_type: string;
}, {
    type: "braintrust_attachment";
    key: string;
    filename: string;
    content_type: string;
}>, z.ZodObject<{
    type: z.ZodLiteral<"external_attachment">;
    filename: z.ZodString;
    content_type: z.ZodString;
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "external_attachment";
    filename: string;
    content_type: string;
    url: string;
}, {
    type: "external_attachment";
    filename: string;
    content_type: string;
    url: string;
}>]>;
type AttachmentReferenceType = z.infer<typeof AttachmentReference>;
declare const AttachmentStatus: z.ZodObject<{
    upload_status: z.ZodEnum<["uploading", "done", "error"]>;
    error_message: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    upload_status: "uploading" | "done" | "error";
    error_message?: string | undefined;
}, {
    upload_status: "uploading" | "done" | "error";
    error_message?: string | undefined;
}>;
type AttachmentStatusType = z.infer<typeof AttachmentStatus>;
declare const FunctionTypeEnum: z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>;
type FunctionTypeEnumType = z.infer<typeof FunctionTypeEnum>;
declare const CallEvent: z.ZodUnion<[z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    data: z.ZodString;
    event: z.ZodLiteral<"text_delta">;
}, "strip", z.ZodTypeAny, {
    data: string;
    event: "text_delta";
    id?: string | undefined;
}, {
    data: string;
    event: "text_delta";
    id?: string | undefined;
}>, z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    data: z.ZodString;
    event: z.ZodLiteral<"reasoning_delta">;
}, "strip", z.ZodTypeAny, {
    data: string;
    event: "reasoning_delta";
    id?: string | undefined;
}, {
    data: string;
    event: "reasoning_delta";
    id?: string | undefined;
}>, z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    data: z.ZodString;
    event: z.ZodLiteral<"json_delta">;
}, "strip", z.ZodTypeAny, {
    data: string;
    event: "json_delta";
    id?: string | undefined;
}, {
    data: string;
    event: "json_delta";
    id?: string | undefined;
}>, z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    data: z.ZodString;
    event: z.ZodLiteral<"progress">;
}, "strip", z.ZodTypeAny, {
    data: string;
    event: "progress";
    id?: string | undefined;
}, {
    data: string;
    event: "progress";
    id?: string | undefined;
}>, z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    data: z.ZodString;
    event: z.ZodLiteral<"error">;
}, "strip", z.ZodTypeAny, {
    data: string;
    event: "error";
    id?: string | undefined;
}, {
    data: string;
    event: "error";
    id?: string | undefined;
}>, z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    data: z.ZodString;
    event: z.ZodLiteral<"console">;
}, "strip", z.ZodTypeAny, {
    data: string;
    event: "console";
    id?: string | undefined;
}, {
    data: string;
    event: "console";
    id?: string | undefined;
}>, z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    event: z.ZodLiteral<"start">;
    data: z.ZodLiteral<"">;
}, "strip", z.ZodTypeAny, {
    data: "";
    event: "start";
    id?: string | undefined;
}, {
    data: "";
    event: "start";
    id?: string | undefined;
}>, z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    event: z.ZodLiteral<"done">;
    data: z.ZodLiteral<"">;
}, "strip", z.ZodTypeAny, {
    data: "";
    event: "done";
    id?: string | undefined;
}, {
    data: "";
    event: "done";
    id?: string | undefined;
}>]>;
type CallEventType = z.infer<typeof CallEvent>;
declare const ChatCompletionMessageParam: z.ZodUnion<[z.ZodObject<{
    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
        text: z.ZodDefault<z.ZodString>;
        type: z.ZodLiteral<"text">;
        cache_control: z.ZodOptional<z.ZodObject<{
            type: z.ZodLiteral<"ephemeral">;
        }, "strip", z.ZodTypeAny, {
            type: "ephemeral";
        }, {
            type: "ephemeral";
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }, {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }>, "many">]>;
    role: z.ZodLiteral<"system">;
    name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    role: "system";
    content: string | {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    name?: string | undefined;
}, {
    role: "system";
    content: string | {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    name?: string | undefined;
}>, z.ZodObject<{
    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
        text: z.ZodDefault<z.ZodString>;
        type: z.ZodLiteral<"text">;
        cache_control: z.ZodOptional<z.ZodObject<{
            type: z.ZodLiteral<"ephemeral">;
        }, "strip", z.ZodTypeAny, {
            type: "ephemeral";
        }, {
            type: "ephemeral";
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }, {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }>, z.ZodObject<{
        image_url: z.ZodObject<{
            url: z.ZodString;
            detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
        }, "strip", z.ZodTypeAny, {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        }, {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        }>;
        type: z.ZodLiteral<"image_url">;
    }, "strip", z.ZodTypeAny, {
        type: "image_url";
        image_url: {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        };
    }, {
        type: "image_url";
        image_url: {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        };
    }>, z.ZodObject<{
        file: z.ZodObject<{
            file_data: z.ZodOptional<z.ZodString>;
            filename: z.ZodOptional<z.ZodString>;
            file_id: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        }, {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        }>;
        type: z.ZodLiteral<"file">;
    }, "strip", z.ZodTypeAny, {
        type: "file";
        file: {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        };
    }, {
        type: "file";
        file: {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        };
    }>]>, "many">]>;
    role: z.ZodLiteral<"user">;
    name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    role: "user";
    content: string | ({
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    } | {
        type: "image_url";
        image_url: {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        };
    } | {
        type: "file";
        file: {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        };
    })[];
    name?: string | undefined;
}, {
    role: "user";
    content: string | ({
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    } | {
        type: "image_url";
        image_url: {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        };
    } | {
        type: "file";
        file: {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        };
    })[];
    name?: string | undefined;
}>, z.ZodObject<{
    role: z.ZodLiteral<"assistant">;
    content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
        text: z.ZodDefault<z.ZodString>;
        type: z.ZodLiteral<"text">;
        cache_control: z.ZodOptional<z.ZodObject<{
            type: z.ZodLiteral<"ephemeral">;
        }, "strip", z.ZodTypeAny, {
            type: "ephemeral";
        }, {
            type: "ephemeral";
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }, {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }>, "many">, z.ZodNull]>>;
    function_call: z.ZodOptional<z.ZodObject<{
        arguments: z.ZodString;
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        arguments: string;
    }, {
        name: string;
        arguments: string;
    }>>;
    name: z.ZodOptional<z.ZodString>;
    tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        function: z.ZodObject<{
            arguments: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            arguments: string;
        }, {
            name: string;
            arguments: string;
        }>;
        type: z.ZodLiteral<"function">;
    }, "strip", z.ZodTypeAny, {
        function: {
            name: string;
            arguments: string;
        };
        type: "function";
        id: string;
    }, {
        function: {
            name: string;
            arguments: string;
        };
        type: "function";
        id: string;
    }>, "many">>;
    reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        content: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id?: string | undefined;
        content?: string | undefined;
    }, {
        id?: string | undefined;
        content?: string | undefined;
    }>, "many">>;
    reasoning_signature: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    role: "assistant";
    name?: string | undefined;
    function_call?: {
        name: string;
        arguments: string;
    } | undefined;
    content?: string | {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[] | null | undefined;
    tool_calls?: {
        function: {
            name: string;
            arguments: string;
        };
        type: "function";
        id: string;
    }[] | undefined;
    reasoning?: {
        id?: string | undefined;
        content?: string | undefined;
    }[] | undefined;
    reasoning_signature?: string | undefined;
}, {
    role: "assistant";
    name?: string | undefined;
    function_call?: {
        name: string;
        arguments: string;
    } | undefined;
    content?: string | {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[] | null | undefined;
    tool_calls?: {
        function: {
            name: string;
            arguments: string;
        };
        type: "function";
        id: string;
    }[] | undefined;
    reasoning?: {
        id?: string | undefined;
        content?: string | undefined;
    }[] | undefined;
    reasoning_signature?: string | undefined;
}>, z.ZodObject<{
    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
        text: z.ZodDefault<z.ZodString>;
        type: z.ZodLiteral<"text">;
        cache_control: z.ZodOptional<z.ZodObject<{
            type: z.ZodLiteral<"ephemeral">;
        }, "strip", z.ZodTypeAny, {
            type: "ephemeral";
        }, {
            type: "ephemeral";
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }, {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }>, "many">]>;
    role: z.ZodLiteral<"tool">;
    tool_call_id: z.ZodDefault<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    role: "tool";
    content: string | {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    tool_call_id: string;
}, {
    role: "tool";
    content: string | {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    tool_call_id?: string | undefined;
}>, z.ZodObject<{
    content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
    name: z.ZodString;
    role: z.ZodLiteral<"function">;
}, "strip", z.ZodTypeAny, {
    role: "function";
    name: string;
    content: string | null;
}, {
    role: "function";
    name: string;
    content: string | null;
}>, z.ZodObject<{
    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
        text: z.ZodDefault<z.ZodString>;
        type: z.ZodLiteral<"text">;
        cache_control: z.ZodOptional<z.ZodObject<{
            type: z.ZodLiteral<"ephemeral">;
        }, "strip", z.ZodTypeAny, {
            type: "ephemeral";
        }, {
            type: "ephemeral";
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }, {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }>, "many">]>;
    role: z.ZodLiteral<"developer">;
    name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    role: "developer";
    content: string | {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    name?: string | undefined;
}, {
    role: "developer";
    content: string | {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    name?: string | undefined;
}>, z.ZodObject<{
    role: z.ZodLiteral<"model">;
    content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    role: "model";
    content?: string | null | undefined;
}, {
    role: "model";
    content?: string | null | undefined;
}>]>;
type ChatCompletionMessageParamType = z.infer<typeof ChatCompletionMessageParam>;
declare const ChatCompletionOpenAIMessageParam: z.ZodUnion<[z.ZodObject<{
    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
        text: z.ZodDefault<z.ZodString>;
        type: z.ZodLiteral<"text">;
        cache_control: z.ZodOptional<z.ZodObject<{
            type: z.ZodLiteral<"ephemeral">;
        }, "strip", z.ZodTypeAny, {
            type: "ephemeral";
        }, {
            type: "ephemeral";
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }, {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }>, "many">]>;
    role: z.ZodLiteral<"system">;
    name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    role: "system";
    content: string | {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    name?: string | undefined;
}, {
    role: "system";
    content: string | {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    name?: string | undefined;
}>, z.ZodObject<{
    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
        text: z.ZodDefault<z.ZodString>;
        type: z.ZodLiteral<"text">;
        cache_control: z.ZodOptional<z.ZodObject<{
            type: z.ZodLiteral<"ephemeral">;
        }, "strip", z.ZodTypeAny, {
            type: "ephemeral";
        }, {
            type: "ephemeral";
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }, {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }>, z.ZodObject<{
        image_url: z.ZodObject<{
            url: z.ZodString;
            detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
        }, "strip", z.ZodTypeAny, {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        }, {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        }>;
        type: z.ZodLiteral<"image_url">;
    }, "strip", z.ZodTypeAny, {
        type: "image_url";
        image_url: {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        };
    }, {
        type: "image_url";
        image_url: {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        };
    }>, z.ZodObject<{
        file: z.ZodObject<{
            file_data: z.ZodOptional<z.ZodString>;
            filename: z.ZodOptional<z.ZodString>;
            file_id: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        }, {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        }>;
        type: z.ZodLiteral<"file">;
    }, "strip", z.ZodTypeAny, {
        type: "file";
        file: {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        };
    }, {
        type: "file";
        file: {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        };
    }>]>, "many">]>;
    role: z.ZodLiteral<"user">;
    name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    role: "user";
    content: string | ({
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    } | {
        type: "image_url";
        image_url: {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        };
    } | {
        type: "file";
        file: {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        };
    })[];
    name?: string | undefined;
}, {
    role: "user";
    content: string | ({
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    } | {
        type: "image_url";
        image_url: {
            url: string;
            detail?: "auto" | "low" | "high" | undefined;
        };
    } | {
        type: "file";
        file: {
            filename?: string | undefined;
            file_data?: string | undefined;
            file_id?: string | undefined;
        };
    })[];
    name?: string | undefined;
}>, z.ZodObject<{
    role: z.ZodLiteral<"assistant">;
    content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
        text: z.ZodDefault<z.ZodString>;
        type: z.ZodLiteral<"text">;
        cache_control: z.ZodOptional<z.ZodObject<{
            type: z.ZodLiteral<"ephemeral">;
        }, "strip", z.ZodTypeAny, {
            type: "ephemeral";
        }, {
            type: "ephemeral";
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }, {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }>, "many">, z.ZodNull]>>;
    function_call: z.ZodOptional<z.ZodObject<{
        arguments: z.ZodString;
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        arguments: string;
    }, {
        name: string;
        arguments: string;
    }>>;
    name: z.ZodOptional<z.ZodString>;
    tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        function: z.ZodObject<{
            arguments: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            arguments: string;
        }, {
            name: string;
            arguments: string;
        }>;
        type: z.ZodLiteral<"function">;
    }, "strip", z.ZodTypeAny, {
        function: {
            name: string;
            arguments: string;
        };
        type: "function";
        id: string;
    }, {
        function: {
            name: string;
            arguments: string;
        };
        type: "function";
        id: string;
    }>, "many">>;
    reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
        id: z.ZodOptional<z.ZodString>;
        content: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        id?: string | undefined;
        content?: string | undefined;
    }, {
        id?: string | undefined;
        content?: string | undefined;
    }>, "many">>;
    reasoning_signature: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    role: "assistant";
    name?: string | undefined;
    function_call?: {
        name: string;
        arguments: string;
    } | undefined;
    content?: string | {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[] | null | undefined;
    tool_calls?: {
        function: {
            name: string;
            arguments: string;
        };
        type: "function";
        id: string;
    }[] | undefined;
    reasoning?: {
        id?: string | undefined;
        content?: string | undefined;
    }[] | undefined;
    reasoning_signature?: string | undefined;
}, {
    role: "assistant";
    name?: string | undefined;
    function_call?: {
        name: string;
        arguments: string;
    } | undefined;
    content?: string | {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[] | null | undefined;
    tool_calls?: {
        function: {
            name: string;
            arguments: string;
        };
        type: "function";
        id: string;
    }[] | undefined;
    reasoning?: {
        id?: string | undefined;
        content?: string | undefined;
    }[] | undefined;
    reasoning_signature?: string | undefined;
}>, z.ZodObject<{
    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
        text: z.ZodDefault<z.ZodString>;
        type: z.ZodLiteral<"text">;
        cache_control: z.ZodOptional<z.ZodObject<{
            type: z.ZodLiteral<"ephemeral">;
        }, "strip", z.ZodTypeAny, {
            type: "ephemeral";
        }, {
            type: "ephemeral";
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }, {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }>, "many">]>;
    role: z.ZodLiteral<"tool">;
    tool_call_id: z.ZodDefault<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    role: "tool";
    content: string | {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    tool_call_id: string;
}, {
    role: "tool";
    content: string | {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    tool_call_id?: string | undefined;
}>, z.ZodObject<{
    content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
    name: z.ZodString;
    role: z.ZodLiteral<"function">;
}, "strip", z.ZodTypeAny, {
    role: "function";
    name: string;
    content: string | null;
}, {
    role: "function";
    name: string;
    content: string | null;
}>, z.ZodObject<{
    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
        text: z.ZodDefault<z.ZodString>;
        type: z.ZodLiteral<"text">;
        cache_control: z.ZodOptional<z.ZodObject<{
            type: z.ZodLiteral<"ephemeral">;
        }, "strip", z.ZodTypeAny, {
            type: "ephemeral";
        }, {
            type: "ephemeral";
        }>>;
    }, "strip", z.ZodTypeAny, {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }, {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }>, "many">]>;
    role: z.ZodLiteral<"developer">;
    name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    role: "developer";
    content: string | {
        type: "text";
        text: string;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    name?: string | undefined;
}, {
    role: "developer";
    content: string | {
        type: "text";
        text?: string | undefined;
        cache_control?: {
            type: "ephemeral";
        } | undefined;
    }[];
    name?: string | undefined;
}>]>;
type ChatCompletionOpenAIMessageParamType = z.infer<typeof ChatCompletionOpenAIMessageParam>;
declare const ChatCompletionTool: z.ZodObject<{
    function: z.ZodObject<{
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        parameters: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        description?: string | undefined;
        parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
    }, {
        name: string;
        description?: string | undefined;
        parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
    }>;
    type: z.ZodLiteral<"function">;
}, "strip", z.ZodTypeAny, {
    function: {
        name: string;
        description?: string | undefined;
        parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
    };
    type: "function";
}, {
    function: {
        name: string;
        description?: string | undefined;
        parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
    };
    type: "function";
}>;
type ChatCompletionToolType = z.infer<typeof ChatCompletionTool>;
declare const SavedFunctionId: z.ZodUnion<[z.ZodObject<{
    type: z.ZodLiteral<"function">;
    id: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "function";
    id: string;
    version?: string | undefined;
}, {
    type: "function";
    id: string;
    version?: string | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"global">;
    name: z.ZodString;
    function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
}, "strip", z.ZodTypeAny, {
    type: "global";
    name: string;
    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
}, {
    type: "global";
    name: string;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
}>]>;
type SavedFunctionIdType = z.infer<typeof SavedFunctionId>;
declare const DatasetSnapshot: z.ZodObject<{
    id: z.ZodString;
    dataset_id: z.ZodString;
    name: z.ZodString;
    description: z.ZodUnion<[z.ZodString, z.ZodNull]>;
    xact_id: z.ZodString;
    created: z.ZodUnion<[z.ZodString, z.ZodNull]>;
}, "strip", z.ZodTypeAny, {
    id: string;
    created: string | null;
    name: string;
    description: string | null;
    dataset_id: string;
    xact_id: string;
}, {
    id: string;
    created: string | null;
    name: string;
    description: string | null;
    dataset_id: string;
    xact_id: string;
}>;
type DatasetSnapshotType = z.infer<typeof DatasetSnapshot>;
declare const RepoInfo: z.ZodUnion<[z.ZodObject<{
    commit: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    branch: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    tag: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    dirty: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
    author_name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    author_email: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    commit_message: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    commit_time: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    git_diff: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    dirty?: boolean | null | undefined;
    tag?: string | null | undefined;
    commit?: string | null | undefined;
    branch?: string | null | undefined;
    author_name?: string | null | undefined;
    author_email?: string | null | undefined;
    commit_message?: string | null | undefined;
    commit_time?: string | null | undefined;
    git_diff?: string | null | undefined;
}, {
    dirty?: boolean | null | undefined;
    tag?: string | null | undefined;
    commit?: string | null | undefined;
    branch?: string | null | undefined;
    author_name?: string | null | undefined;
    author_email?: string | null | undefined;
    commit_message?: string | null | undefined;
    commit_time?: string | null | undefined;
    git_diff?: string | null | undefined;
}>, z.ZodNull]>;
type RepoInfoType = z.infer<typeof RepoInfo>;
declare const ModelParams: z.ZodUnion<[z.ZodObject<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    top_p: z.ZodOptional<z.ZodNumber>;
    max_tokens: z.ZodOptional<z.ZodNumber>;
    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
    frequency_penalty: z.ZodOptional<z.ZodNumber>;
    presence_penalty: z.ZodOptional<z.ZodNumber>;
    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"json_object">;
    }, "strip", z.ZodTypeAny, {
        type: "json_object";
    }, {
        type: "json_object";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"json_schema">;
        json_schema: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        }, {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "json_schema";
        json_schema: {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        };
    }, {
        type: "json_schema";
        json_schema: {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        };
    }>, z.ZodObject<{
        type: z.ZodLiteral<"text">;
    }, "strip", z.ZodTypeAny, {
        type: "text";
    }, {
        type: "text";
    }>, z.ZodNull]>>;
    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        function: {
            name: string;
        };
        type: "function";
    }, {
        function: {
            name: string;
        };
        type: "function";
    }>]>>;
    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
    }, {
        name: string;
    }>]>>;
    n: z.ZodOptional<z.ZodNumber>;
    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    top_p: z.ZodOptional<z.ZodNumber>;
    max_tokens: z.ZodOptional<z.ZodNumber>;
    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
    frequency_penalty: z.ZodOptional<z.ZodNumber>;
    presence_penalty: z.ZodOptional<z.ZodNumber>;
    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"json_object">;
    }, "strip", z.ZodTypeAny, {
        type: "json_object";
    }, {
        type: "json_object";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"json_schema">;
        json_schema: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        }, {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "json_schema";
        json_schema: {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        };
    }, {
        type: "json_schema";
        json_schema: {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        };
    }>, z.ZodObject<{
        type: z.ZodLiteral<"text">;
    }, "strip", z.ZodTypeAny, {
        type: "text";
    }, {
        type: "text";
    }>, z.ZodNull]>>;
    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        function: {
            name: string;
        };
        type: "function";
    }, {
        function: {
            name: string;
        };
        type: "function";
    }>]>>;
    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
    }, {
        name: string;
    }>]>>;
    n: z.ZodOptional<z.ZodNumber>;
    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    top_p: z.ZodOptional<z.ZodNumber>;
    max_tokens: z.ZodOptional<z.ZodNumber>;
    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
    frequency_penalty: z.ZodOptional<z.ZodNumber>;
    presence_penalty: z.ZodOptional<z.ZodNumber>;
    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"json_object">;
    }, "strip", z.ZodTypeAny, {
        type: "json_object";
    }, {
        type: "json_object";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"json_schema">;
        json_schema: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        }, {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "json_schema";
        json_schema: {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        };
    }, {
        type: "json_schema";
        json_schema: {
            name: string;
            description?: string | undefined;
            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            strict?: boolean | null | undefined;
        };
    }>, z.ZodObject<{
        type: z.ZodLiteral<"text">;
    }, "strip", z.ZodTypeAny, {
        type: "text";
    }, {
        type: "text";
    }>, z.ZodNull]>>;
    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        function: {
            name: string;
        };
        type: "function";
    }, {
        function: {
            name: string;
        };
        type: "function";
    }>]>>;
    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
    }, {
        name: string;
    }>]>>;
    n: z.ZodOptional<z.ZodNumber>;
    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    max_tokens: z.ZodNumber;
    temperature: z.ZodNumber;
    top_p: z.ZodOptional<z.ZodNumber>;
    top_k: z.ZodOptional<z.ZodNumber>;
    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    max_tokens: z.ZodNumber;
    temperature: z.ZodNumber;
    top_p: z.ZodOptional<z.ZodNumber>;
    top_k: z.ZodOptional<z.ZodNumber>;
    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    max_tokens: z.ZodNumber;
    temperature: z.ZodNumber;
    top_p: z.ZodOptional<z.ZodNumber>;
    top_k: z.ZodOptional<z.ZodNumber>;
    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
    topP: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
    topP: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
    topP: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    topK: z.ZodOptional<z.ZodNumber>;
}, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
    use_cache: z.ZodOptional<z.ZodBoolean>;
    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
    reasoning_budget: z.ZodOptional<z.ZodNumber>;
}, z.ZodTypeAny, "passthrough">>]>;
type ModelParamsType = z.infer<typeof ModelParams>;
declare const PromptBlockData: z.ZodUnion<[z.ZodObject<{
    type: z.ZodLiteral<"chat">;
    messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"system">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "system";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }, {
        role: "system";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, z.ZodObject<{
            image_url: z.ZodObject<{
                url: z.ZodString;
                detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
            }, "strip", z.ZodTypeAny, {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            }, {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            }>;
            type: z.ZodLiteral<"image_url">;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        }>, z.ZodObject<{
            file: z.ZodObject<{
                file_data: z.ZodOptional<z.ZodString>;
                filename: z.ZodOptional<z.ZodString>;
                file_id: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            }, {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            }>;
            type: z.ZodLiteral<"file">;
        }, "strip", z.ZodTypeAny, {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        }, {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        }>]>, "many">]>;
        role: z.ZodLiteral<"user">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "user";
        content: string | ({
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    }, {
        role: "user";
        content: string | ({
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    }>, z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">, z.ZodNull]>>;
        function_call: z.ZodOptional<z.ZodObject<{
            arguments: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            arguments: string;
        }, {
            name: string;
            arguments: string;
        }>>;
        name: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            function: z.ZodObject<{
                arguments: z.ZodString;
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                arguments: string;
            }, {
                name: string;
                arguments: string;
            }>;
            type: z.ZodLiteral<"function">;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }>, "many">>;
        reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            content: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            content?: string | undefined;
        }, {
            id?: string | undefined;
            content?: string | undefined;
        }>, "many">>;
        reasoning_signature: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    }, {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"tool">;
        tool_call_id: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "tool";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id: string;
    }, {
        role: "tool";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
        name: z.ZodString;
        role: z.ZodLiteral<"function">;
    }, "strip", z.ZodTypeAny, {
        role: "function";
        name: string;
        content: string | null;
    }, {
        role: "function";
        name: string;
        content: string | null;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"developer">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "developer";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }, {
        role: "developer";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }>, z.ZodObject<{
        role: z.ZodLiteral<"model">;
        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        role: "model";
        content?: string | null | undefined;
    }, {
        role: "model";
        content?: string | null | undefined;
    }>]>, "many">;
    tools: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "chat";
    messages: ({
        role: "system";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "user";
        content: string | ({
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    } | {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    } | {
        role: "tool";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id: string;
    } | {
        role: "function";
        name: string;
        content: string | null;
    } | {
        role: "developer";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "model";
        content?: string | null | undefined;
    })[];
    tools?: string | undefined;
}, {
    type: "chat";
    messages: ({
        role: "system";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "user";
        content: string | ({
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    } | {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    } | {
        role: "tool";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id?: string | undefined;
    } | {
        role: "function";
        name: string;
        content: string | null;
    } | {
        role: "developer";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "model";
        content?: string | null | undefined;
    })[];
    tools?: string | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"completion">;
    content: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "completion";
    content: string;
}, {
    type: "completion";
    content: string;
}>]>;
type PromptBlockDataType = z.infer<typeof PromptBlockData>;
declare const GraphNode: z.ZodUnion<[z.ZodObject<{
    description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
    }, {
        x: number;
        y: number;
    }>, z.ZodNull]>>;
    type: z.ZodLiteral<"function">;
    function: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
}, "strip", z.ZodTypeAny, {
    function: {} & {
        [k: string]: unknown;
    };
    type: "function";
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}, {
    function: {} & {
        [k: string]: unknown;
    };
    type: "function";
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}>, z.ZodObject<{
    description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
    }, {
        x: number;
        y: number;
    }>, z.ZodNull]>>;
    type: z.ZodLiteral<"input">;
}, "strip", z.ZodTypeAny, {
    type: "input";
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}, {
    type: "input";
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}>, z.ZodObject<{
    description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
    }, {
        x: number;
        y: number;
    }>, z.ZodNull]>>;
    type: z.ZodLiteral<"output">;
}, "strip", z.ZodTypeAny, {
    type: "output";
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}, {
    type: "output";
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}>, z.ZodObject<{
    description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
    }, {
        x: number;
        y: number;
    }>, z.ZodNull]>>;
    type: z.ZodLiteral<"literal">;
    value: z.ZodOptional<z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
    type: "literal";
    value?: unknown;
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}, {
    type: "literal";
    value?: unknown;
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}>, z.ZodObject<{
    description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
    }, {
        x: number;
        y: number;
    }>, z.ZodNull]>>;
    type: z.ZodLiteral<"btql">;
    expr: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "btql";
    expr: string;
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}, {
    type: "btql";
    expr: string;
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}>, z.ZodObject<{
    description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
    }, {
        x: number;
        y: number;
    }>, z.ZodNull]>>;
    type: z.ZodLiteral<"gate">;
    condition: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    type: "gate";
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
    condition?: string | null | undefined;
}, {
    type: "gate";
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
    condition?: string | null | undefined;
}>, z.ZodObject<{
    description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
    }, {
        x: number;
        y: number;
    }>, z.ZodNull]>>;
    type: z.ZodLiteral<"aggregator">;
}, "strip", z.ZodTypeAny, {
    type: "aggregator";
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}, {
    type: "aggregator";
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}>, z.ZodObject<{
    description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
    }, {
        x: number;
        y: number;
    }>, z.ZodNull]>>;
    type: z.ZodLiteral<"prompt_template">;
    prompt: z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"chat">;
        messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">]>;
            role: z.ZodLiteral<"system">;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "system";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }, {
            role: "system";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, z.ZodObject<{
                image_url: z.ZodObject<{
                    url: z.ZodString;
                    detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                }, "strip", z.ZodTypeAny, {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                }, {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                }>;
                type: z.ZodLiteral<"image_url">;
            }, "strip", z.ZodTypeAny, {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            }, {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            }>, z.ZodObject<{
                file: z.ZodObject<{
                    file_data: z.ZodOptional<z.ZodString>;
                    filename: z.ZodOptional<z.ZodString>;
                    file_id: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                }, {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                }>;
                type: z.ZodLiteral<"file">;
            }, "strip", z.ZodTypeAny, {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            }, {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            }>]>, "many">]>;
            role: z.ZodLiteral<"user">;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "user";
            content: string | ({
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        }, {
            role: "user";
            content: string | ({
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        }>, z.ZodObject<{
            role: z.ZodLiteral<"assistant">;
            content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">, z.ZodNull]>>;
            function_call: z.ZodOptional<z.ZodObject<{
                arguments: z.ZodString;
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                arguments: string;
            }, {
                name: string;
                arguments: string;
            }>>;
            name: z.ZodOptional<z.ZodString>;
            tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                function: z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>;
                type: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }, {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }>, "many">>;
            reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                content: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                content?: string | undefined;
            }, {
                id?: string | undefined;
                content?: string | undefined;
            }>, "many">>;
            reasoning_signature: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        }, {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">]>;
            role: z.ZodLiteral<"tool">;
            tool_call_id: z.ZodDefault<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "tool";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id: string;
        }, {
            role: "tool";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id?: string | undefined;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
            name: z.ZodString;
            role: z.ZodLiteral<"function">;
        }, "strip", z.ZodTypeAny, {
            role: "function";
            name: string;
            content: string | null;
        }, {
            role: "function";
            name: string;
            content: string | null;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">]>;
            role: z.ZodLiteral<"developer">;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "developer";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }, {
            role: "developer";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }>, z.ZodObject<{
            role: z.ZodLiteral<"model">;
            content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            role: "model";
            content?: string | null | undefined;
        }, {
            role: "model";
            content?: string | null | undefined;
        }>]>, "many">;
        tools: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "chat";
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id: string;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
        tools?: string | undefined;
    }, {
        type: "chat";
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id?: string | undefined;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
        tools?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"completion">;
        content: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "completion";
        content: string;
    }, {
        type: "completion";
        content: string;
    }>]>;
}, "strip", z.ZodTypeAny, {
    type: "prompt_template";
    prompt: {
        type: "chat";
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id: string;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
        tools?: string | undefined;
    } | {
        type: "completion";
        content: string;
    };
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}, {
    type: "prompt_template";
    prompt: {
        type: "chat";
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id?: string | undefined;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
        tools?: string | undefined;
    } | {
        type: "completion";
        content: string;
    };
    description?: string | null | undefined;
    position?: {
        x: number;
        y: number;
    } | null | undefined;
}>]>;
type GraphNodeType = z.infer<typeof GraphNode>;
declare const GraphEdge: z.ZodObject<{
    source: z.ZodObject<{
        node: z.ZodString;
        variable: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        node: string;
        variable: string;
    }, {
        node: string;
        variable: string;
    }>;
    target: z.ZodObject<{
        node: z.ZodString;
        variable: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        node: string;
        variable: string;
    }, {
        node: string;
        variable: string;
    }>;
    purpose: z.ZodEnum<["control", "data", "messages"]>;
}, "strip", z.ZodTypeAny, {
    source: {
        node: string;
        variable: string;
    };
    purpose: "data" | "messages" | "control";
    target: {
        node: string;
        variable: string;
    };
}, {
    source: {
        node: string;
        variable: string;
    };
    purpose: "data" | "messages" | "control";
    target: {
        node: string;
        variable: string;
    };
}>;
type GraphEdgeType = z.infer<typeof GraphEdge>;
declare const GraphData: z.ZodObject<{
    type: z.ZodLiteral<"graph">;
    nodes: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, {
        function: {} & {
            [k: string]: unknown;
        };
        type: "function";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        function: {} & {
            [k: string]: unknown;
        };
        type: "function";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"input">;
    }, "strip", z.ZodTypeAny, {
        type: "input";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "input";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"output">;
    }, "strip", z.ZodTypeAny, {
        type: "output";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "output";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"literal">;
        value: z.ZodOptional<z.ZodUnknown>;
    }, "strip", z.ZodTypeAny, {
        type: "literal";
        value?: unknown;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "literal";
        value?: unknown;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"btql">;
        expr: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "btql";
        expr: string;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "btql";
        expr: string;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"gate">;
        condition: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        type: "gate";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
        condition?: string | null | undefined;
    }, {
        type: "gate";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
        condition?: string | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"aggregator">;
    }, "strip", z.ZodTypeAny, {
        type: "aggregator";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "aggregator";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"prompt_template">;
        prompt: z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"chat">;
            messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"system">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, z.ZodObject<{
                    image_url: z.ZodObject<{
                        url: z.ZodString;
                        detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                    }, "strip", z.ZodTypeAny, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }>;
                    type: z.ZodLiteral<"image_url">;
                }, "strip", z.ZodTypeAny, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }>, z.ZodObject<{
                    file: z.ZodObject<{
                        file_data: z.ZodOptional<z.ZodString>;
                        filename: z.ZodOptional<z.ZodString>;
                        file_id: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }>;
                    type: z.ZodLiteral<"file">;
                }, "strip", z.ZodTypeAny, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }>]>, "many">]>;
                role: z.ZodLiteral<"user">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }, {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"assistant">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">, z.ZodNull]>>;
                function_call: z.ZodOptional<z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>>;
                name: z.ZodOptional<z.ZodString>;
                tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    function: z.ZodObject<{
                        arguments: z.ZodString;
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        arguments: string;
                    }, {
                        name: string;
                        arguments: string;
                    }>;
                    type: z.ZodLiteral<"function">;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }>, "many">>;
                reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    content: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    content?: string | undefined;
                }, {
                    id?: string | undefined;
                    content?: string | undefined;
                }>, "many">>;
                reasoning_signature: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"tool">;
                tool_call_id: z.ZodDefault<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            }, {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                name: z.ZodString;
                role: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                role: "function";
                name: string;
                content: string | null;
            }, {
                role: "function";
                name: string;
                content: string | null;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"developer">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"model">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                role: "model";
                content?: string | null | undefined;
            }, {
                role: "model";
                content?: string | null | undefined;
            }>]>, "many">;
            tools: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"completion">;
            content: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "completion";
            content: string;
        }, {
            type: "completion";
            content: string;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        type: "prompt_template";
        prompt: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        };
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "prompt_template";
        prompt: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        };
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>]>>;
    edges: z.ZodRecord<z.ZodString, z.ZodObject<{
        source: z.ZodObject<{
            node: z.ZodString;
            variable: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            node: string;
            variable: string;
        }, {
            node: string;
            variable: string;
        }>;
        target: z.ZodObject<{
            node: z.ZodString;
            variable: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            node: string;
            variable: string;
        }, {
            node: string;
            variable: string;
        }>;
        purpose: z.ZodEnum<["control", "data", "messages"]>;
    }, "strip", z.ZodTypeAny, {
        source: {
            node: string;
            variable: string;
        };
        purpose: "data" | "messages" | "control";
        target: {
            node: string;
            variable: string;
        };
    }, {
        source: {
            node: string;
            variable: string;
        };
        purpose: "data" | "messages" | "control";
        target: {
            node: string;
            variable: string;
        };
    }>>;
}, "strip", z.ZodTypeAny, {
    type: "graph";
    nodes: Record<string, {
        function: {} & {
            [k: string]: unknown;
        };
        type: "function";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "input";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "output";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "literal";
        value?: unknown;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "btql";
        expr: string;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "gate";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
        condition?: string | null | undefined;
    } | {
        type: "aggregator";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "prompt_template";
        prompt: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        };
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>;
    edges: Record<string, {
        source: {
            node: string;
            variable: string;
        };
        purpose: "data" | "messages" | "control";
        target: {
            node: string;
            variable: string;
        };
    }>;
}, {
    type: "graph";
    nodes: Record<string, {
        function: {} & {
            [k: string]: unknown;
        };
        type: "function";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "input";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "output";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "literal";
        value?: unknown;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "btql";
        expr: string;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "gate";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
        condition?: string | null | undefined;
    } | {
        type: "aggregator";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "prompt_template";
        prompt: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        };
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>;
    edges: Record<string, {
        source: {
            node: string;
            variable: string;
        };
        purpose: "data" | "messages" | "control";
        target: {
            node: string;
            variable: string;
        };
    }>;
}>;
type GraphDataType = z.infer<typeof GraphData>;
declare const FunctionData: z.ZodUnion<[z.ZodObject<{
    type: z.ZodLiteral<"prompt">;
}, "strip", z.ZodTypeAny, {
    type: "prompt";
}, {
    type: "prompt";
}>, z.ZodObject<{
    type: z.ZodLiteral<"code">;
    data: z.ZodUnion<[z.ZodIntersection<z.ZodObject<{
        type: z.ZodLiteral<"bundle">;
    }, "strip", z.ZodTypeAny, {
        type: "bundle";
    }, {
        type: "bundle";
    }>, z.ZodObject<{
        runtime_context: z.ZodObject<{
            runtime: z.ZodEnum<["node", "python", "browser", "quickjs"]>;
            version: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        }, {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        }>;
        location: z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"experiment">;
            eval_name: z.ZodString;
            position: z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"task">;
            }, "strip", z.ZodTypeAny, {
                type: "task";
            }, {
                type: "task";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"scorer">;
                index: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "scorer";
                index: number;
            }, {
                type: "scorer";
                index: number;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"classifier">;
                index: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                type: "classifier";
                index: number;
            }, {
                type: "classifier";
                index: number;
            }>]>;
        }, "strip", z.ZodTypeAny, {
            type: "experiment";
            eval_name: string;
            position: {
                type: "task";
            } | {
                type: "scorer";
                index: number;
            } | {
                type: "classifier";
                index: number;
            };
        }, {
            type: "experiment";
            eval_name: string;
            position: {
                type: "task";
            } | {
                type: "scorer";
                index: number;
            } | {
                type: "classifier";
                index: number;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            index: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            type: "function";
            index: number;
        }, {
            type: "function";
            index: number;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"sandbox">;
            sandbox_spec: z.ZodUnion<[z.ZodObject<{
                provider: z.ZodLiteral<"modal">;
                snapshot_ref: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                provider: "modal";
                snapshot_ref: string;
            }, {
                provider: "modal";
                snapshot_ref: string;
            }>, z.ZodObject<{
                provider: z.ZodLiteral<"lambda">;
            }, "strip", z.ZodTypeAny, {
                provider: "lambda";
            }, {
                provider: "lambda";
            }>]>;
            entrypoints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            eval_name: z.ZodString;
            parameters: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
            evaluator_definition: z.ZodOptional<z.ZodUnknown>;
        }, "strip", z.ZodTypeAny, {
            type: "sandbox";
            eval_name: string;
            sandbox_spec: {
                provider: "modal";
                snapshot_ref: string;
            } | {
                provider: "lambda";
            };
            parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            entrypoints?: string[] | undefined;
            evaluator_definition?: unknown;
        }, {
            type: "sandbox";
            eval_name: string;
            sandbox_spec: {
                provider: "modal";
                snapshot_ref: string;
            } | {
                provider: "lambda";
            };
            parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            entrypoints?: string[] | undefined;
            evaluator_definition?: unknown;
        }>]>;
        bundle_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        preview: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        runtime_context: {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        };
        location: {
            type: "experiment";
            eval_name: string;
            position: {
                type: "task";
            } | {
                type: "scorer";
                index: number;
            } | {
                type: "classifier";
                index: number;
            };
        } | {
            type: "function";
            index: number;
        } | {
            type: "sandbox";
            eval_name: string;
            sandbox_spec: {
                provider: "modal";
                snapshot_ref: string;
            } | {
                provider: "lambda";
            };
            parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            entrypoints?: string[] | undefined;
            evaluator_definition?: unknown;
        };
        bundle_id?: string | null | undefined;
        preview?: string | null | undefined;
    }, {
        runtime_context: {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        };
        location: {
            type: "experiment";
            eval_name: string;
            position: {
                type: "task";
            } | {
                type: "scorer";
                index: number;
            } | {
                type: "classifier";
                index: number;
            };
        } | {
            type: "function";
            index: number;
        } | {
            type: "sandbox";
            eval_name: string;
            sandbox_spec: {
                provider: "modal";
                snapshot_ref: string;
            } | {
                provider: "lambda";
            };
            parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            entrypoints?: string[] | undefined;
            evaluator_definition?: unknown;
        };
        bundle_id?: string | null | undefined;
        preview?: string | null | undefined;
    }>>, z.ZodObject<{
        type: z.ZodLiteral<"inline">;
        runtime_context: z.ZodObject<{
            runtime: z.ZodEnum<["node", "python", "browser", "quickjs"]>;
            version: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        }, {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        }>;
        code: z.ZodString;
        code_hash: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        code: string;
        type: "inline";
        runtime_context: {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        };
        code_hash?: string | undefined;
    }, {
        code: string;
        type: "inline";
        runtime_context: {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        };
        code_hash?: string | undefined;
    }>]>;
}, "strip", z.ZodTypeAny, {
    type: "code";
    data: ({
        type: "bundle";
    } & {
        runtime_context: {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        };
        location: {
            type: "experiment";
            eval_name: string;
            position: {
                type: "task";
            } | {
                type: "scorer";
                index: number;
            } | {
                type: "classifier";
                index: number;
            };
        } | {
            type: "function";
            index: number;
        } | {
            type: "sandbox";
            eval_name: string;
            sandbox_spec: {
                provider: "modal";
                snapshot_ref: string;
            } | {
                provider: "lambda";
            };
            parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            entrypoints?: string[] | undefined;
            evaluator_definition?: unknown;
        };
        bundle_id?: string | null | undefined;
        preview?: string | null | undefined;
    }) | {
        code: string;
        type: "inline";
        runtime_context: {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        };
        code_hash?: string | undefined;
    };
}, {
    type: "code";
    data: ({
        type: "bundle";
    } & {
        runtime_context: {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        };
        location: {
            type: "experiment";
            eval_name: string;
            position: {
                type: "task";
            } | {
                type: "scorer";
                index: number;
            } | {
                type: "classifier";
                index: number;
            };
        } | {
            type: "function";
            index: number;
        } | {
            type: "sandbox";
            eval_name: string;
            sandbox_spec: {
                provider: "modal";
                snapshot_ref: string;
            } | {
                provider: "lambda";
            };
            parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            entrypoints?: string[] | undefined;
            evaluator_definition?: unknown;
        };
        bundle_id?: string | null | undefined;
        preview?: string | null | undefined;
    }) | {
        code: string;
        type: "inline";
        runtime_context: {
            version: string;
            runtime: "node" | "python" | "browser" | "quickjs";
        };
        code_hash?: string | undefined;
    };
}>, z.ZodObject<{
    type: z.ZodLiteral<"graph">;
    nodes: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, {
        function: {} & {
            [k: string]: unknown;
        };
        type: "function";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        function: {} & {
            [k: string]: unknown;
        };
        type: "function";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"input">;
    }, "strip", z.ZodTypeAny, {
        type: "input";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "input";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"output">;
    }, "strip", z.ZodTypeAny, {
        type: "output";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "output";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"literal">;
        value: z.ZodOptional<z.ZodUnknown>;
    }, "strip", z.ZodTypeAny, {
        type: "literal";
        value?: unknown;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "literal";
        value?: unknown;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"btql">;
        expr: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "btql";
        expr: string;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "btql";
        expr: string;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"gate">;
        condition: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        type: "gate";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
        condition?: string | null | undefined;
    }, {
        type: "gate";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
        condition?: string | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"aggregator">;
    }, "strip", z.ZodTypeAny, {
        type: "aggregator";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "aggregator";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>, z.ZodObject<{
        description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        position: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>>;
        type: z.ZodLiteral<"prompt_template">;
        prompt: z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"chat">;
            messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"system">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, z.ZodObject<{
                    image_url: z.ZodObject<{
                        url: z.ZodString;
                        detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                    }, "strip", z.ZodTypeAny, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }>;
                    type: z.ZodLiteral<"image_url">;
                }, "strip", z.ZodTypeAny, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }>, z.ZodObject<{
                    file: z.ZodObject<{
                        file_data: z.ZodOptional<z.ZodString>;
                        filename: z.ZodOptional<z.ZodString>;
                        file_id: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }>;
                    type: z.ZodLiteral<"file">;
                }, "strip", z.ZodTypeAny, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }>]>, "many">]>;
                role: z.ZodLiteral<"user">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }, {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"assistant">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">, z.ZodNull]>>;
                function_call: z.ZodOptional<z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>>;
                name: z.ZodOptional<z.ZodString>;
                tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    function: z.ZodObject<{
                        arguments: z.ZodString;
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        arguments: string;
                    }, {
                        name: string;
                        arguments: string;
                    }>;
                    type: z.ZodLiteral<"function">;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }>, "many">>;
                reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    content: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    content?: string | undefined;
                }, {
                    id?: string | undefined;
                    content?: string | undefined;
                }>, "many">>;
                reasoning_signature: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"tool">;
                tool_call_id: z.ZodDefault<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            }, {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                name: z.ZodString;
                role: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                role: "function";
                name: string;
                content: string | null;
            }, {
                role: "function";
                name: string;
                content: string | null;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"developer">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"model">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                role: "model";
                content?: string | null | undefined;
            }, {
                role: "model";
                content?: string | null | undefined;
            }>]>, "many">;
            tools: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"completion">;
            content: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "completion";
            content: string;
        }, {
            type: "completion";
            content: string;
        }>]>;
    }, "strip", z.ZodTypeAny, {
        type: "prompt_template";
        prompt: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        };
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }, {
        type: "prompt_template";
        prompt: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        };
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>]>>;
    edges: z.ZodRecord<z.ZodString, z.ZodObject<{
        source: z.ZodObject<{
            node: z.ZodString;
            variable: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            node: string;
            variable: string;
        }, {
            node: string;
            variable: string;
        }>;
        target: z.ZodObject<{
            node: z.ZodString;
            variable: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            node: string;
            variable: string;
        }, {
            node: string;
            variable: string;
        }>;
        purpose: z.ZodEnum<["control", "data", "messages"]>;
    }, "strip", z.ZodTypeAny, {
        source: {
            node: string;
            variable: string;
        };
        purpose: "data" | "messages" | "control";
        target: {
            node: string;
            variable: string;
        };
    }, {
        source: {
            node: string;
            variable: string;
        };
        purpose: "data" | "messages" | "control";
        target: {
            node: string;
            variable: string;
        };
    }>>;
}, "strip", z.ZodTypeAny, {
    type: "graph";
    nodes: Record<string, {
        function: {} & {
            [k: string]: unknown;
        };
        type: "function";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "input";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "output";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "literal";
        value?: unknown;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "btql";
        expr: string;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "gate";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
        condition?: string | null | undefined;
    } | {
        type: "aggregator";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "prompt_template";
        prompt: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        };
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>;
    edges: Record<string, {
        source: {
            node: string;
            variable: string;
        };
        purpose: "data" | "messages" | "control";
        target: {
            node: string;
            variable: string;
        };
    }>;
}, {
    type: "graph";
    nodes: Record<string, {
        function: {} & {
            [k: string]: unknown;
        };
        type: "function";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "input";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "output";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "literal";
        value?: unknown;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "btql";
        expr: string;
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "gate";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
        condition?: string | null | undefined;
    } | {
        type: "aggregator";
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    } | {
        type: "prompt_template";
        prompt: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        };
        description?: string | null | undefined;
        position?: {
            x: number;
            y: number;
        } | null | undefined;
    }>;
    edges: Record<string, {
        source: {
            node: string;
            variable: string;
        };
        purpose: "data" | "messages" | "control";
        target: {
            node: string;
            variable: string;
        };
    }>;
}>, z.ZodObject<{
    type: z.ZodLiteral<"remote_eval">;
    endpoint: z.ZodString;
    eval_name: z.ZodString;
    parameters: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
    parameters_version: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    type: "remote_eval";
    parameters: {} & {
        [k: string]: unknown;
    };
    eval_name: string;
    endpoint: string;
    parameters_version?: string | null | undefined;
}, {
    type: "remote_eval";
    parameters: {} & {
        [k: string]: unknown;
    };
    eval_name: string;
    endpoint: string;
    parameters_version?: string | null | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"global">;
    name: z.ZodString;
    function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
    config: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    type: "global";
    name: string;
    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
    config?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
}, {
    type: "global";
    name: string;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
    config?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"facet">;
    preprocessor: z.ZodOptional<z.ZodIntersection<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"function">;
        id: z.ZodString;
        version: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "function";
        id: string;
        version?: string | undefined;
    }, {
        type: "function";
        id: string;
        version?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"global">;
        name: z.ZodString;
        function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
    }, "strip", z.ZodTypeAny, {
        type: "global";
        name: string;
        function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
    }, {
        type: "global";
        name: string;
        function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
    }>, z.ZodNull]>, z.ZodUnknown>>;
    prompt: z.ZodString;
    model: z.ZodOptional<z.ZodString>;
    embedding_model: z.ZodOptional<z.ZodString>;
    no_match_pattern: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "facet";
    prompt: string;
    preprocessor?: {
        type: "function";
        id: string;
        version?: string | undefined;
    } | {
        type: "global";
        name: string;
        function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
    } | null | undefined;
    embedding_model?: string | undefined;
    model?: string | undefined;
    no_match_pattern?: string | undefined;
}, {
    type: "facet";
    prompt: string;
    preprocessor?: {
        type: "function";
        id: string;
        version?: string | undefined;
    } | {
        type: "global";
        name: string;
        function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
    } | null | undefined;
    embedding_model?: string | undefined;
    model?: string | undefined;
    no_match_pattern?: string | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"batched_facet">;
    preprocessor: z.ZodOptional<z.ZodIntersection<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"function">;
        id: z.ZodString;
        version: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "function";
        id: string;
        version?: string | undefined;
    }, {
        type: "function";
        id: string;
        version?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"global">;
        name: z.ZodString;
        function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
    }, "strip", z.ZodTypeAny, {
        type: "global";
        name: string;
        function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
    }, {
        type: "global";
        name: string;
        function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
    }>, z.ZodNull]>, z.ZodUnknown>>;
    facets: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        prompt: z.ZodString;
        model: z.ZodOptional<z.ZodString>;
        embedding_model: z.ZodOptional<z.ZodString>;
        no_match_pattern: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        prompt: string;
        name: string;
        embedding_model?: string | undefined;
        model?: string | undefined;
        no_match_pattern?: string | undefined;
    }, {
        prompt: string;
        name: string;
        embedding_model?: string | undefined;
        model?: string | undefined;
        no_match_pattern?: string | undefined;
    }>, "many">;
    topic_maps: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
        function_name: z.ZodString;
        topic_map_id: z.ZodOptional<z.ZodString>;
        topic_map_data: z.ZodObject<{
            type: z.ZodLiteral<"topic_map">;
            source_facet: z.ZodString;
            embedding_model: z.ZodString;
            bundle_key: z.ZodOptional<z.ZodString>;
            report_key: z.ZodOptional<z.ZodString>;
            topic_names: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            generation_settings: z.ZodOptional<z.ZodObject<{
                algorithm: z.ZodEnum<["hdbscan", "kmeans"]>;
                dimension_reduction: z.ZodEnum<["umap", "pca", "none"]>;
                sample_size: z.ZodOptional<z.ZodNumber>;
                n_clusters: z.ZodOptional<z.ZodNumber>;
                min_cluster_size: z.ZodOptional<z.ZodNumber>;
                min_samples: z.ZodOptional<z.ZodNumber>;
                hierarchy_threshold: z.ZodOptional<z.ZodNumber>;
                naming_model: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                algorithm: "hdbscan" | "kmeans";
                dimension_reduction: "none" | "umap" | "pca";
                sample_size?: number | undefined;
                n_clusters?: number | undefined;
                min_cluster_size?: number | undefined;
                min_samples?: number | undefined;
                hierarchy_threshold?: number | undefined;
                naming_model?: string | undefined;
            }, {
                algorithm: "hdbscan" | "kmeans";
                dimension_reduction: "none" | "umap" | "pca";
                sample_size?: number | undefined;
                n_clusters?: number | undefined;
                min_cluster_size?: number | undefined;
                min_samples?: number | undefined;
                hierarchy_threshold?: number | undefined;
                naming_model?: string | undefined;
            }>>;
            disable_reconciliation: z.ZodOptional<z.ZodBoolean>;
            distance_threshold: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            type: "topic_map";
            source_facet: string;
            embedding_model: string;
            bundle_key?: string | undefined;
            report_key?: string | undefined;
            topic_names?: Record<string, string> | undefined;
            generation_settings?: {
                algorithm: "hdbscan" | "kmeans";
                dimension_reduction: "none" | "umap" | "pca";
                sample_size?: number | undefined;
                n_clusters?: number | undefined;
                min_cluster_size?: number | undefined;
                min_samples?: number | undefined;
                hierarchy_threshold?: number | undefined;
                naming_model?: string | undefined;
            } | undefined;
            disable_reconciliation?: boolean | undefined;
            distance_threshold?: number | undefined;
        }, {
            type: "topic_map";
            source_facet: string;
            embedding_model: string;
            bundle_key?: string | undefined;
            report_key?: string | undefined;
            topic_names?: Record<string, string> | undefined;
            generation_settings?: {
                algorithm: "hdbscan" | "kmeans";
                dimension_reduction: "none" | "umap" | "pca";
                sample_size?: number | undefined;
                n_clusters?: number | undefined;
                min_cluster_size?: number | undefined;
                min_samples?: number | undefined;
                hierarchy_threshold?: number | undefined;
                naming_model?: string | undefined;
            } | undefined;
            disable_reconciliation?: boolean | undefined;
            distance_threshold?: number | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        function_name: string;
        topic_map_data: {
            type: "topic_map";
            source_facet: string;
            embedding_model: string;
            bundle_key?: string | undefined;
            report_key?: string | undefined;
            topic_names?: Record<string, string> | undefined;
            generation_settings?: {
                algorithm: "hdbscan" | "kmeans";
                dimension_reduction: "none" | "umap" | "pca";
                sample_size?: number | undefined;
                n_clusters?: number | undefined;
                min_cluster_size?: number | undefined;
                min_samples?: number | undefined;
                hierarchy_threshold?: number | undefined;
                naming_model?: string | undefined;
            } | undefined;
            disable_reconciliation?: boolean | undefined;
            distance_threshold?: number | undefined;
        };
        topic_map_id?: string | undefined;
    }, {
        function_name: string;
        topic_map_data: {
            type: "topic_map";
            source_facet: string;
            embedding_model: string;
            bundle_key?: string | undefined;
            report_key?: string | undefined;
            topic_names?: Record<string, string> | undefined;
            generation_settings?: {
                algorithm: "hdbscan" | "kmeans";
                dimension_reduction: "none" | "umap" | "pca";
                sample_size?: number | undefined;
                n_clusters?: number | undefined;
                min_cluster_size?: number | undefined;
                min_samples?: number | undefined;
                hierarchy_threshold?: number | undefined;
                naming_model?: string | undefined;
            } | undefined;
            disable_reconciliation?: boolean | undefined;
            distance_threshold?: number | undefined;
        };
        topic_map_id?: string | undefined;
    }>, "many">>>;
}, "strip", z.ZodTypeAny, {
    type: "batched_facet";
    facets: {
        prompt: string;
        name: string;
        embedding_model?: string | undefined;
        model?: string | undefined;
        no_match_pattern?: string | undefined;
    }[];
    preprocessor?: {
        type: "function";
        id: string;
        version?: string | undefined;
    } | {
        type: "global";
        name: string;
        function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
    } | null | undefined;
    topic_maps?: Record<string, {
        function_name: string;
        topic_map_data: {
            type: "topic_map";
            source_facet: string;
            embedding_model: string;
            bundle_key?: string | undefined;
            report_key?: string | undefined;
            topic_names?: Record<string, string> | undefined;
            generation_settings?: {
                algorithm: "hdbscan" | "kmeans";
                dimension_reduction: "none" | "umap" | "pca";
                sample_size?: number | undefined;
                n_clusters?: number | undefined;
                min_cluster_size?: number | undefined;
                min_samples?: number | undefined;
                hierarchy_threshold?: number | undefined;
                naming_model?: string | undefined;
            } | undefined;
            disable_reconciliation?: boolean | undefined;
            distance_threshold?: number | undefined;
        };
        topic_map_id?: string | undefined;
    }[]> | undefined;
}, {
    type: "batched_facet";
    facets: {
        prompt: string;
        name: string;
        embedding_model?: string | undefined;
        model?: string | undefined;
        no_match_pattern?: string | undefined;
    }[];
    preprocessor?: {
        type: "function";
        id: string;
        version?: string | undefined;
    } | {
        type: "global";
        name: string;
        function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
    } | null | undefined;
    topic_maps?: Record<string, {
        function_name: string;
        topic_map_data: {
            type: "topic_map";
            source_facet: string;
            embedding_model: string;
            bundle_key?: string | undefined;
            report_key?: string | undefined;
            topic_names?: Record<string, string> | undefined;
            generation_settings?: {
                algorithm: "hdbscan" | "kmeans";
                dimension_reduction: "none" | "umap" | "pca";
                sample_size?: number | undefined;
                n_clusters?: number | undefined;
                min_cluster_size?: number | undefined;
                min_samples?: number | undefined;
                hierarchy_threshold?: number | undefined;
                naming_model?: string | undefined;
            } | undefined;
            disable_reconciliation?: boolean | undefined;
            distance_threshold?: number | undefined;
        };
        topic_map_id?: string | undefined;
    }[]> | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"parameters">;
    data: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
    __schema: z.ZodObject<{
        type: z.ZodLiteral<"object">;
        properties: z.ZodRecord<z.ZodString, z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
        required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        additionalProperties: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        type: "object";
        properties: Record<string, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">>;
        required?: string[] | undefined;
        additionalProperties?: boolean | undefined;
    }, {
        type: "object";
        properties: Record<string, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
        required?: string[] | undefined;
        additionalProperties?: boolean | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    type: "parameters";
    data: {} & {
        [k: string]: unknown;
    };
    __schema: {
        type: "object";
        properties: Record<string, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">>;
        required?: string[] | undefined;
        additionalProperties?: boolean | undefined;
    };
}, {
    type: "parameters";
    data: {} & {
        [k: string]: unknown;
    };
    __schema: {
        type: "object";
        properties: Record<string, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
        required?: string[] | undefined;
        additionalProperties?: boolean | undefined;
    };
}>, z.ZodIntersection<z.ZodObject<{
    type: z.ZodLiteral<"topic_map">;
    source_facet: z.ZodString;
    embedding_model: z.ZodString;
    bundle_key: z.ZodOptional<z.ZodString>;
    report_key: z.ZodOptional<z.ZodString>;
    topic_names: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    generation_settings: z.ZodOptional<z.ZodObject<{
        algorithm: z.ZodEnum<["hdbscan", "kmeans"]>;
        dimension_reduction: z.ZodEnum<["umap", "pca", "none"]>;
        sample_size: z.ZodOptional<z.ZodNumber>;
        n_clusters: z.ZodOptional<z.ZodNumber>;
        min_cluster_size: z.ZodOptional<z.ZodNumber>;
        min_samples: z.ZodOptional<z.ZodNumber>;
        hierarchy_threshold: z.ZodOptional<z.ZodNumber>;
        naming_model: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        algorithm: "hdbscan" | "kmeans";
        dimension_reduction: "none" | "umap" | "pca";
        sample_size?: number | undefined;
        n_clusters?: number | undefined;
        min_cluster_size?: number | undefined;
        min_samples?: number | undefined;
        hierarchy_threshold?: number | undefined;
        naming_model?: string | undefined;
    }, {
        algorithm: "hdbscan" | "kmeans";
        dimension_reduction: "none" | "umap" | "pca";
        sample_size?: number | undefined;
        n_clusters?: number | undefined;
        min_cluster_size?: number | undefined;
        min_samples?: number | undefined;
        hierarchy_threshold?: number | undefined;
        naming_model?: string | undefined;
    }>>;
    disable_reconciliation: z.ZodOptional<z.ZodBoolean>;
    distance_threshold: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    type: "topic_map";
    source_facet: string;
    embedding_model: string;
    bundle_key?: string | undefined;
    report_key?: string | undefined;
    topic_names?: Record<string, string> | undefined;
    generation_settings?: {
        algorithm: "hdbscan" | "kmeans";
        dimension_reduction: "none" | "umap" | "pca";
        sample_size?: number | undefined;
        n_clusters?: number | undefined;
        min_cluster_size?: number | undefined;
        min_samples?: number | undefined;
        hierarchy_threshold?: number | undefined;
        naming_model?: string | undefined;
    } | undefined;
    disable_reconciliation?: boolean | undefined;
    distance_threshold?: number | undefined;
}, {
    type: "topic_map";
    source_facet: string;
    embedding_model: string;
    bundle_key?: string | undefined;
    report_key?: string | undefined;
    topic_names?: Record<string, string> | undefined;
    generation_settings?: {
        algorithm: "hdbscan" | "kmeans";
        dimension_reduction: "none" | "umap" | "pca";
        sample_size?: number | undefined;
        n_clusters?: number | undefined;
        min_cluster_size?: number | undefined;
        min_samples?: number | undefined;
        hierarchy_threshold?: number | undefined;
        naming_model?: string | undefined;
    } | undefined;
    disable_reconciliation?: boolean | undefined;
    distance_threshold?: number | undefined;
}>, z.ZodUnknown>]>;
declare const PromptData: z.ZodObject<{
    prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"chat">;
        messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">]>;
            role: z.ZodLiteral<"system">;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "system";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }, {
            role: "system";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, z.ZodObject<{
                image_url: z.ZodObject<{
                    url: z.ZodString;
                    detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                }, "strip", z.ZodTypeAny, {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                }, {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                }>;
                type: z.ZodLiteral<"image_url">;
            }, "strip", z.ZodTypeAny, {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            }, {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            }>, z.ZodObject<{
                file: z.ZodObject<{
                    file_data: z.ZodOptional<z.ZodString>;
                    filename: z.ZodOptional<z.ZodString>;
                    file_id: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                }, {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                }>;
                type: z.ZodLiteral<"file">;
            }, "strip", z.ZodTypeAny, {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            }, {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            }>]>, "many">]>;
            role: z.ZodLiteral<"user">;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "user";
            content: string | ({
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        }, {
            role: "user";
            content: string | ({
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        }>, z.ZodObject<{
            role: z.ZodLiteral<"assistant">;
            content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">, z.ZodNull]>>;
            function_call: z.ZodOptional<z.ZodObject<{
                arguments: z.ZodString;
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                arguments: string;
            }, {
                name: string;
                arguments: string;
            }>>;
            name: z.ZodOptional<z.ZodString>;
            tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                function: z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>;
                type: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }, {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }>, "many">>;
            reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                content: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                content?: string | undefined;
            }, {
                id?: string | undefined;
                content?: string | undefined;
            }>, "many">>;
            reasoning_signature: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        }, {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">]>;
            role: z.ZodLiteral<"tool">;
            tool_call_id: z.ZodDefault<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "tool";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id: string;
        }, {
            role: "tool";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id?: string | undefined;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
            name: z.ZodString;
            role: z.ZodLiteral<"function">;
        }, "strip", z.ZodTypeAny, {
            role: "function";
            name: string;
            content: string | null;
        }, {
            role: "function";
            name: string;
            content: string | null;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">]>;
            role: z.ZodLiteral<"developer">;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "developer";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }, {
            role: "developer";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }>, z.ZodObject<{
            role: z.ZodLiteral<"model">;
            content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            role: "model";
            content?: string | null | undefined;
        }, {
            role: "model";
            content?: string | null | undefined;
        }>]>, "many">;
        tools: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "chat";
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id: string;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
        tools?: string | undefined;
    }, {
        type: "chat";
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id?: string | undefined;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
        tools?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"completion">;
        content: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "completion";
        content: string;
    }, {
        type: "completion";
        content: string;
    }>, z.ZodNull]>>;
    options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        model: z.ZodOptional<z.ZodString>;
        params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">>]>>;
        position: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        params?: z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        model?: string | undefined;
        position?: string | undefined;
    }, {
        params?: z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        model?: string | undefined;
        position?: string | undefined;
    }>, z.ZodNull]>>;
    parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"llm_classifier">;
        use_cot: z.ZodBoolean;
        choice_scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
        choice: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        allow_no_match: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        type: "llm_classifier";
        use_cot: boolean;
        choice_scores?: Record<string, number> | undefined;
        choice?: string[] | undefined;
        allow_no_match?: boolean | undefined;
    }, {
        type: "llm_classifier";
        use_cot: boolean;
        choice_scores?: Record<string, number> | undefined;
        choice?: string[] | undefined;
        allow_no_match?: boolean | undefined;
    }>, z.ZodNull]>>;
    tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"function">;
        id: z.ZodString;
        version: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "function";
        id: string;
        version?: string | undefined;
    }, {
        type: "function";
        id: string;
        version?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"global">;
        name: z.ZodString;
        function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
    }, "strip", z.ZodTypeAny, {
        type: "global";
        name: string;
        function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
    }, {
        type: "global";
        name: string;
        function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
    }>]>, "many">, z.ZodNull]>>;
    template_format: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["mustache", "nunjucks", "none"]>, z.ZodNull]>>;
    mcp: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"id">;
        id: z.ZodString;
        is_disabled: z.ZodOptional<z.ZodBoolean>;
        enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        type: "id";
        id: string;
        is_disabled?: boolean | undefined;
        enabled_tools?: string[] | null | undefined;
    }, {
        type: "id";
        id: string;
        is_disabled?: boolean | undefined;
        enabled_tools?: string[] | null | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"url">;
        url: z.ZodString;
        is_disabled: z.ZodOptional<z.ZodBoolean>;
        enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        type: "url";
        url: string;
        is_disabled?: boolean | undefined;
        enabled_tools?: string[] | null | undefined;
    }, {
        type: "url";
        url: string;
        is_disabled?: boolean | undefined;
        enabled_tools?: string[] | null | undefined;
    }>]>>, z.ZodNull]>>;
    origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        prompt_id: z.ZodOptional<z.ZodString>;
        project_id: z.ZodOptional<z.ZodString>;
        prompt_version: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        project_id?: string | undefined;
        prompt_id?: string | undefined;
        prompt_version?: string | undefined;
    }, {
        project_id?: string | undefined;
        prompt_id?: string | undefined;
        prompt_version?: string | undefined;
    }>, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    options?: {
        params?: z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        model?: string | undefined;
        position?: string | undefined;
    } | null | undefined;
    prompt?: {
        type: "chat";
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id: string;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
        tools?: string | undefined;
    } | {
        type: "completion";
        content: string;
    } | null | undefined;
    origin?: {
        project_id?: string | undefined;
        prompt_id?: string | undefined;
        prompt_version?: string | undefined;
    } | null | undefined;
    parser?: {
        type: "llm_classifier";
        use_cot: boolean;
        choice_scores?: Record<string, number> | undefined;
        choice?: string[] | undefined;
        allow_no_match?: boolean | undefined;
    } | null | undefined;
    tool_functions?: ({
        type: "function";
        id: string;
        version?: string | undefined;
    } | {
        type: "global";
        name: string;
        function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
    })[] | null | undefined;
    template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
    mcp?: Record<string, {
        type: "id";
        id: string;
        is_disabled?: boolean | undefined;
        enabled_tools?: string[] | null | undefined;
    } | {
        type: "url";
        url: string;
        is_disabled?: boolean | undefined;
        enabled_tools?: string[] | null | undefined;
    }> | null | undefined;
}, {
    options?: {
        params?: z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        model?: string | undefined;
        position?: string | undefined;
    } | null | undefined;
    prompt?: {
        type: "chat";
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id?: string | undefined;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
        tools?: string | undefined;
    } | {
        type: "completion";
        content: string;
    } | null | undefined;
    origin?: {
        project_id?: string | undefined;
        prompt_id?: string | undefined;
        prompt_version?: string | undefined;
    } | null | undefined;
    parser?: {
        type: "llm_classifier";
        use_cot: boolean;
        choice_scores?: Record<string, number> | undefined;
        choice?: string[] | undefined;
        allow_no_match?: boolean | undefined;
    } | null | undefined;
    tool_functions?: ({
        type: "function";
        id: string;
        version?: string | undefined;
    } | {
        type: "global";
        name: string;
        function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
    })[] | null | undefined;
    template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
    mcp?: Record<string, {
        type: "id";
        id: string;
        is_disabled?: boolean | undefined;
        enabled_tools?: string[] | null | undefined;
    } | {
        type: "url";
        url: string;
        is_disabled?: boolean | undefined;
        enabled_tools?: string[] | null | undefined;
    }> | null | undefined;
}>;
type PromptDataType = z.infer<typeof PromptData>;
declare const FunctionId: z.ZodUnion<[z.ZodObject<{
    function_id: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    function_id: string;
    version?: string | undefined;
}, {
    function_id: string;
    version?: string | undefined;
}>, z.ZodObject<{
    project_name: z.ZodString;
    slug: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    slug: string;
    project_name: string;
    version?: string | undefined;
}, {
    slug: string;
    project_name: string;
    version?: string | undefined;
}>, z.ZodObject<{
    global_function: z.ZodString;
    function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
}, "strip", z.ZodTypeAny, {
    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
    global_function: string;
}, {
    global_function: string;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
}>, z.ZodObject<{
    prompt_session_id: z.ZodString;
    prompt_session_function_id: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    prompt_session_id: string;
    prompt_session_function_id: string;
    version?: string | undefined;
}, {
    prompt_session_id: string;
    prompt_session_function_id: string;
    version?: string | undefined;
}>, z.ZodObject<{
    inline_context: z.ZodObject<{
        runtime: z.ZodEnum<["node", "python", "browser", "quickjs"]>;
        version: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        version: string;
        runtime: "node" | "python" | "browser" | "quickjs";
    }, {
        version: string;
        runtime: "node" | "python" | "browser" | "quickjs";
    }>;
    code: z.ZodString;
    function_type: z.ZodOptional<z.ZodIntersection<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>, z.ZodUnknown>>;
    name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    code: string;
    inline_context: {
        version: string;
        runtime: "node" | "python" | "browser" | "quickjs";
    };
    name?: string | null | undefined;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
}, {
    code: string;
    inline_context: {
        version: string;
        runtime: "node" | "python" | "browser" | "quickjs";
    };
    name?: string | null | undefined;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
}>, z.ZodObject<{
    inline_prompt: z.ZodOptional<z.ZodObject<{
        prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"chat">;
            messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"system">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, z.ZodObject<{
                    image_url: z.ZodObject<{
                        url: z.ZodString;
                        detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                    }, "strip", z.ZodTypeAny, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }>;
                    type: z.ZodLiteral<"image_url">;
                }, "strip", z.ZodTypeAny, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }>, z.ZodObject<{
                    file: z.ZodObject<{
                        file_data: z.ZodOptional<z.ZodString>;
                        filename: z.ZodOptional<z.ZodString>;
                        file_id: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }>;
                    type: z.ZodLiteral<"file">;
                }, "strip", z.ZodTypeAny, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }>]>, "many">]>;
                role: z.ZodLiteral<"user">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }, {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"assistant">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">, z.ZodNull]>>;
                function_call: z.ZodOptional<z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>>;
                name: z.ZodOptional<z.ZodString>;
                tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    function: z.ZodObject<{
                        arguments: z.ZodString;
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        arguments: string;
                    }, {
                        name: string;
                        arguments: string;
                    }>;
                    type: z.ZodLiteral<"function">;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }>, "many">>;
                reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    content: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    content?: string | undefined;
                }, {
                    id?: string | undefined;
                    content?: string | undefined;
                }>, "many">>;
                reasoning_signature: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"tool">;
                tool_call_id: z.ZodDefault<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            }, {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                name: z.ZodString;
                role: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                role: "function";
                name: string;
                content: string | null;
            }, {
                role: "function";
                name: string;
                content: string | null;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"developer">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"model">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                role: "model";
                content?: string | null | undefined;
            }, {
                role: "model";
                content?: string | null | undefined;
            }>]>, "many">;
            tools: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"completion">;
            content: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "completion";
            content: string;
        }, {
            type: "completion";
            content: string;
        }>, z.ZodNull]>>;
        options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            model: z.ZodOptional<z.ZodString>;
            params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>]>>;
            position: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }, {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }>, z.ZodNull]>>;
        parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"llm_classifier">;
            use_cot: z.ZodBoolean;
            choice_scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
            choice: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            allow_no_match: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        }, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        }>, z.ZodNull]>>;
        tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"function">;
            id: z.ZodString;
            version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "function";
            id: string;
            version?: string | undefined;
        }, {
            type: "function";
            id: string;
            version?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"global">;
            name: z.ZodString;
            function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
        }, "strip", z.ZodTypeAny, {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        }, {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        }>]>, "many">, z.ZodNull]>>;
        template_format: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["mustache", "nunjucks", "none"]>, z.ZodNull]>>;
        mcp: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"id">;
            id: z.ZodString;
            is_disabled: z.ZodOptional<z.ZodBoolean>;
            enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"url">;
            url: z.ZodString;
            is_disabled: z.ZodOptional<z.ZodBoolean>;
            enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }, {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }>]>>, z.ZodNull]>>;
        origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            prompt_id: z.ZodOptional<z.ZodString>;
            project_id: z.ZodOptional<z.ZodString>;
            prompt_version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }>, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    }, {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    }>>;
    inline_function: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
    function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
    name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
    inline_function: {} & {
        [k: string]: unknown;
    };
    name?: string | null | undefined;
    inline_prompt?: {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    } | undefined;
}, {
    inline_function: {} & {
        [k: string]: unknown;
    };
    name?: string | null | undefined;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
    inline_prompt?: {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    } | undefined;
}>, z.ZodObject<{
    inline_prompt: z.ZodObject<{
        prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"chat">;
            messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"system">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, z.ZodObject<{
                    image_url: z.ZodObject<{
                        url: z.ZodString;
                        detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                    }, "strip", z.ZodTypeAny, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }>;
                    type: z.ZodLiteral<"image_url">;
                }, "strip", z.ZodTypeAny, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }>, z.ZodObject<{
                    file: z.ZodObject<{
                        file_data: z.ZodOptional<z.ZodString>;
                        filename: z.ZodOptional<z.ZodString>;
                        file_id: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }>;
                    type: z.ZodLiteral<"file">;
                }, "strip", z.ZodTypeAny, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }>]>, "many">]>;
                role: z.ZodLiteral<"user">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }, {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"assistant">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">, z.ZodNull]>>;
                function_call: z.ZodOptional<z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>>;
                name: z.ZodOptional<z.ZodString>;
                tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    function: z.ZodObject<{
                        arguments: z.ZodString;
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        arguments: string;
                    }, {
                        name: string;
                        arguments: string;
                    }>;
                    type: z.ZodLiteral<"function">;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }>, "many">>;
                reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    content: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    content?: string | undefined;
                }, {
                    id?: string | undefined;
                    content?: string | undefined;
                }>, "many">>;
                reasoning_signature: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"tool">;
                tool_call_id: z.ZodDefault<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            }, {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                name: z.ZodString;
                role: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                role: "function";
                name: string;
                content: string | null;
            }, {
                role: "function";
                name: string;
                content: string | null;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"developer">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"model">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                role: "model";
                content?: string | null | undefined;
            }, {
                role: "model";
                content?: string | null | undefined;
            }>]>, "many">;
            tools: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"completion">;
            content: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "completion";
            content: string;
        }, {
            type: "completion";
            content: string;
        }>, z.ZodNull]>>;
        options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            model: z.ZodOptional<z.ZodString>;
            params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>]>>;
            position: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }, {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }>, z.ZodNull]>>;
        parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"llm_classifier">;
            use_cot: z.ZodBoolean;
            choice_scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
            choice: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            allow_no_match: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        }, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        }>, z.ZodNull]>>;
        tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"function">;
            id: z.ZodString;
            version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "function";
            id: string;
            version?: string | undefined;
        }, {
            type: "function";
            id: string;
            version?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"global">;
            name: z.ZodString;
            function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
        }, "strip", z.ZodTypeAny, {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        }, {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        }>]>, "many">, z.ZodNull]>>;
        template_format: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["mustache", "nunjucks", "none"]>, z.ZodNull]>>;
        mcp: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"id">;
            id: z.ZodString;
            is_disabled: z.ZodOptional<z.ZodBoolean>;
            enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"url">;
            url: z.ZodString;
            is_disabled: z.ZodOptional<z.ZodBoolean>;
            enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }, {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }>]>>, z.ZodNull]>>;
        origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            prompt_id: z.ZodOptional<z.ZodString>;
            project_id: z.ZodOptional<z.ZodString>;
            prompt_version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }>, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    }, {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    }>;
    function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
    name: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
    inline_prompt: {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    };
    name?: string | null | undefined;
}, {
    inline_prompt: {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    };
    name?: string | null | undefined;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
}>]>;
type FunctionIdType = z.infer<typeof FunctionId>;
declare const GitMetadataSettings: z.ZodObject<{
    collect: z.ZodEnum<["all", "none", "some"]>;
    fields: z.ZodOptional<z.ZodArray<z.ZodEnum<["commit", "branch", "tag", "dirty", "author_name", "author_email", "commit_message", "commit_time", "git_diff"]>, "many">>;
}, "strip", z.ZodTypeAny, {
    collect: "some" | "none" | "all";
    fields?: ("dirty" | "tag" | "commit" | "branch" | "author_name" | "author_email" | "commit_message" | "commit_time" | "git_diff")[] | undefined;
}, {
    collect: "some" | "none" | "all";
    fields?: ("dirty" | "tag" | "commit" | "branch" | "author_name" | "author_email" | "commit_message" | "commit_time" | "git_diff")[] | undefined;
}>;
type GitMetadataSettingsType = z.infer<typeof GitMetadataSettings>;
declare const IfExists: z.ZodEnum<["error", "ignore", "replace"]>;
type IfExistsType = z.infer<typeof IfExists>;
declare const StreamingMode: z.ZodUnion<[z.ZodEnum<["auto", "parallel", "json", "text"]>, z.ZodNull]>;
type StreamingModeType = z.infer<typeof StreamingMode>;
declare const ObjectReference$1: z.ZodObject<{
    object_type: z.ZodEnum<["project_logs", "experiment", "dataset", "prompt", "function", "prompt_session"]>;
    object_id: z.ZodString;
    id: z.ZodString;
    _xact_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    created: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    id: string;
    object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
    object_id: string;
    created?: string | null | undefined;
    _xact_id?: string | null | undefined;
}, {
    id: string;
    object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
    object_id: string;
    created?: string | null | undefined;
    _xact_id?: string | null | undefined;
}>;
type ObjectReferenceType$1 = z.infer<typeof ObjectReference$1>;
declare const Prompt$1: z.ZodObject<{
    id: z.ZodString;
    _xact_id: z.ZodString;
    project_id: z.ZodString;
    log_id: z.ZodLiteral<"p">;
    org_id: z.ZodString;
    name: z.ZodString;
    slug: z.ZodString;
    description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    created: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    prompt_data: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"chat">;
            messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"system">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, z.ZodObject<{
                    image_url: z.ZodObject<{
                        url: z.ZodString;
                        detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                    }, "strip", z.ZodTypeAny, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }>;
                    type: z.ZodLiteral<"image_url">;
                }, "strip", z.ZodTypeAny, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }>, z.ZodObject<{
                    file: z.ZodObject<{
                        file_data: z.ZodOptional<z.ZodString>;
                        filename: z.ZodOptional<z.ZodString>;
                        file_id: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }>;
                    type: z.ZodLiteral<"file">;
                }, "strip", z.ZodTypeAny, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }>]>, "many">]>;
                role: z.ZodLiteral<"user">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }, {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"assistant">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">, z.ZodNull]>>;
                function_call: z.ZodOptional<z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>>;
                name: z.ZodOptional<z.ZodString>;
                tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    function: z.ZodObject<{
                        arguments: z.ZodString;
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        arguments: string;
                    }, {
                        name: string;
                        arguments: string;
                    }>;
                    type: z.ZodLiteral<"function">;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }>, "many">>;
                reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    content: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    content?: string | undefined;
                }, {
                    id?: string | undefined;
                    content?: string | undefined;
                }>, "many">>;
                reasoning_signature: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"tool">;
                tool_call_id: z.ZodDefault<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            }, {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                name: z.ZodString;
                role: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                role: "function";
                name: string;
                content: string | null;
            }, {
                role: "function";
                name: string;
                content: string | null;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"developer">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"model">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                role: "model";
                content?: string | null | undefined;
            }, {
                role: "model";
                content?: string | null | undefined;
            }>]>, "many">;
            tools: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"completion">;
            content: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "completion";
            content: string;
        }, {
            type: "completion";
            content: string;
        }>, z.ZodNull]>>;
        options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            model: z.ZodOptional<z.ZodString>;
            params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>]>>;
            position: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }, {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }>, z.ZodNull]>>;
        parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"llm_classifier">;
            use_cot: z.ZodBoolean;
            choice_scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
            choice: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            allow_no_match: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        }, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        }>, z.ZodNull]>>;
        tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"function">;
            id: z.ZodString;
            version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "function";
            id: string;
            version?: string | undefined;
        }, {
            type: "function";
            id: string;
            version?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"global">;
            name: z.ZodString;
            function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
        }, "strip", z.ZodTypeAny, {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        }, {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        }>]>, "many">, z.ZodNull]>>;
        template_format: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["mustache", "nunjucks", "none"]>, z.ZodNull]>>;
        mcp: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"id">;
            id: z.ZodString;
            is_disabled: z.ZodOptional<z.ZodBoolean>;
            enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"url">;
            url: z.ZodString;
            is_disabled: z.ZodOptional<z.ZodBoolean>;
            enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }, {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }>]>>, z.ZodNull]>>;
        origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            prompt_id: z.ZodOptional<z.ZodString>;
            project_id: z.ZodOptional<z.ZodString>;
            prompt_version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }>, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    }, {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    }>, z.ZodNull]>>;
    tags: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
    metadata: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodNull]>>;
    function_type: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    id: string;
    org_id: string;
    name: string;
    project_id: string;
    _xact_id: string;
    slug: string;
    log_id: "p";
    created?: string | null | undefined;
    metadata?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
    description?: string | null | undefined;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | null | undefined;
    tags?: string[] | null | undefined;
    prompt_data?: {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    } | null | undefined;
}, {
    id: string;
    org_id: string;
    name: string;
    project_id: string;
    _xact_id: string;
    slug: string;
    log_id: "p";
    created?: string | null | undefined;
    metadata?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
    description?: string | null | undefined;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | null | undefined;
    tags?: string[] | null | undefined;
    prompt_data?: {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    } | null | undefined;
}>;
type PromptType = z.infer<typeof Prompt$1>;
declare const PromptSessionEvent: z.ZodObject<{
    id: z.ZodString;
    _xact_id: z.ZodString;
    created: z.ZodString;
    _pagination_key: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    project_id: z.ZodString;
    prompt_session_id: z.ZodString;
    prompt_session_data: z.ZodOptional<z.ZodUnknown>;
    prompt_data: z.ZodOptional<z.ZodUnknown>;
    function_data: z.ZodOptional<z.ZodUnknown>;
    function_type: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>, z.ZodNull]>>;
    object_data: z.ZodOptional<z.ZodUnknown>;
    completion: z.ZodOptional<z.ZodUnknown>;
    tags: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    id: string;
    created: string;
    project_id: string;
    _xact_id: string;
    prompt_session_id: string;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | null | undefined;
    tags?: string[] | null | undefined;
    _pagination_key?: string | null | undefined;
    completion?: unknown;
    prompt_data?: unknown;
    function_data?: unknown;
    prompt_session_data?: unknown;
    object_data?: unknown;
}, {
    id: string;
    created: string;
    project_id: string;
    _xact_id: string;
    prompt_session_id: string;
    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | null | undefined;
    tags?: string[] | null | undefined;
    _pagination_key?: string | null | undefined;
    completion?: unknown;
    prompt_data?: unknown;
    function_data?: unknown;
    prompt_session_data?: unknown;
    object_data?: unknown;
}>;
type PromptSessionEventType = z.infer<typeof PromptSessionEvent>;
declare const SSEProgressEventData: z.ZodObject<{
    id: z.ZodString;
    object_type: z.ZodEnum<["prompt", "tool", "scorer", "task", "workflow", "custom_view", "preprocessor", "facet", "classifier", "parameters", "sandbox"]>;
    origin: z.ZodOptional<z.ZodIntersection<z.ZodUnion<[z.ZodObject<{
        object_type: z.ZodEnum<["project_logs", "experiment", "dataset", "prompt", "function", "prompt_session"]>;
        object_id: z.ZodString;
        id: z.ZodString;
        _xact_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        created: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        id: string;
        object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
        object_id: string;
        created?: string | null | undefined;
        _xact_id?: string | null | undefined;
    }, {
        id: string;
        object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
        object_id: string;
        created?: string | null | undefined;
        _xact_id?: string | null | undefined;
    }>, z.ZodNull]>, z.ZodUnknown>>;
    format: z.ZodEnum<["llm", "code", "global", "graph", "topic_map"]>;
    output_type: z.ZodEnum<["completion", "score", "facet", "classification", "any"]>;
    name: z.ZodString;
    event: z.ZodEnum<["reasoning_delta", "text_delta", "json_delta", "error", "console", "start", "done", "progress"]>;
    data: z.ZodString;
}, "strip", z.ZodTypeAny, {
    id: string;
    object_type: "prompt" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "parameters" | "sandbox" | "workflow";
    name: string;
    data: string;
    event: "done" | "error" | "text_delta" | "reasoning_delta" | "json_delta" | "progress" | "console" | "start";
    format: "code" | "llm" | "global" | "topic_map" | "graph";
    output_type: "facet" | "score" | "completion" | "classification" | "any";
    origin?: {
        id: string;
        object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
        object_id: string;
        created?: string | null | undefined;
        _xact_id?: string | null | undefined;
    } | null | undefined;
}, {
    id: string;
    object_type: "prompt" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "parameters" | "sandbox" | "workflow";
    name: string;
    data: string;
    event: "done" | "error" | "text_delta" | "reasoning_delta" | "json_delta" | "progress" | "console" | "start";
    format: "code" | "llm" | "global" | "topic_map" | "graph";
    output_type: "facet" | "score" | "completion" | "classification" | "any";
    origin?: {
        id: string;
        object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
        object_id: string;
        created?: string | null | undefined;
        _xact_id?: string | null | undefined;
    } | null | undefined;
}>;
type SSEProgressEventDataType = z.infer<typeof SSEProgressEventData>;
declare const ToolFunctionDefinition: z.ZodObject<{
    type: z.ZodLiteral<"function">;
    function: z.ZodObject<{
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        parameters: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        name: string;
        description?: string | undefined;
        strict?: boolean | null | undefined;
        parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
    }, {
        name: string;
        description?: string | undefined;
        strict?: boolean | null | undefined;
        parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    function: {
        name: string;
        description?: string | undefined;
        strict?: boolean | null | undefined;
        parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
    };
    type: "function";
}, {
    function: {
        name: string;
        description?: string | undefined;
        strict?: boolean | null | undefined;
        parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
    };
    type: "function";
}>;
type ToolFunctionDefinitionType = z.infer<typeof ToolFunctionDefinition>;

interface CallerLocation {
    caller_functionname: string;
    caller_filename: string;
    caller_lineno: number;
}
interface IsoAsyncLocalStorage<T> {
    enterWith(store: T): void;
    run<R>(store: T | undefined, callback: () => R): R;
    getStore(): T | undefined;
}
type IsoMessageFunction<M = any, N extends string | symbol = string> = (message: M, name: N) => void;
type IsoTransformFunction<M, S> = (message: M) => S;
/**
 * Channel interface matching the shared node:diagnostics_channel and dc-browser API.
 */
interface IsoChannel<M = any, N extends string | symbol = string> {
    readonly name: N;
    readonly hasSubscribers: boolean;
    subscribe(subscription: IsoMessageFunction<M, N>): void;
    unsubscribe(subscription: IsoMessageFunction<M, N>): boolean;
    bindStore<T>(store: IsoAsyncLocalStorage<T>, transform?: IsoTransformFunction<M, T>): void;
    unbindStore<T>(store: IsoAsyncLocalStorage<T>): boolean;
    publish(message: M): void;
    runStores<F extends (...args: any[]) => any>(message: M, fn: F, thisArg?: ThisParameterType<F>, ...args: Parameters<F>): ReturnType<F>;
}
/**
 * TracingChannel interface matching both node:diagnostics_channel and dc-browser.
 * A composite of the five tracing subchannels used to instrument sync/async operations.
 */
interface IsoTracingChannelCollection<M = any> {
    readonly start?: IsoChannel<M>;
    readonly end?: IsoChannel<M>;
    readonly asyncStart?: IsoChannel<M>;
    readonly asyncEnd?: IsoChannel<M>;
    readonly error?: IsoChannel<M>;
}
interface IsoTracingChannel<M = any> extends IsoTracingChannelCollection<M> {
    readonly hasSubscribers: boolean;
    subscribe(handlers: IsoChannelHandlers<M>): void;
    unsubscribe(handlers: IsoChannelHandlers<M>): boolean;
    traceSync<F extends (...args: any[]) => any>(fn: F, message?: M, thisArg?: ThisParameterType<F>, ...args: Parameters<F>): ReturnType<F>;
    tracePromise<F extends (...args: any[]) => PromiseLike<any>>(fn: F, message?: M, thisArg?: ThisParameterType<F>, ...args: Parameters<F>): ReturnType<F>;
    traceCallback<F extends (...args: any[]) => any>(fn: F, position?: number, message?: M, thisArg?: ThisParameterType<F>, ...args: Parameters<F>): ReturnType<F>;
}
interface IsoChannelHandlers<M = any> {
    start?: (context: M, name: string) => void;
    end?: (context: M, name: string) => void;
    asyncStart?: (context: M, name: string) => void;
    asyncEnd?: (context: M, name: string) => void;
    error?: (context: M, name: string) => void;
}
interface Common {
    buildType: "browser" | "browser-js" | "node" | "edge-light" | "workerd" | "unknown";
    getRepoInfo: (settings?: GitMetadataSettingsType) => Promise<RepoInfoType | undefined>;
    getPastNAncestors: (n?: number, remote?: string) => Promise<string[]>;
    getEnv: (name: string) => string | undefined;
    getBraintrustApiKey: () => Promise<string | undefined>;
    getCallerLocation: () => CallerLocation | undefined;
    newAsyncLocalStorage: <T>() => IsoAsyncLocalStorage<T>;
    newTracingChannel: <M = any>(nameOrChannels: string | IsoTracingChannelCollection<M>) => IsoTracingChannel<M>;
    processOn: (event: string, handler: (code: any) => void) => void;
    hash?: (data: string) => string;
    basename: (filepath: string) => string;
    writeln: (text: string) => void;
    pathJoin?: (...args: string[]) => string;
    pathDirname?: (path: string) => string;
    mkdir?: (path: string, opts?: {
        recursive?: boolean;
    }) => Promise<string | undefined>;
    writeFile?: (filename: string, data: string) => Promise<void>;
    readFile?: (filename: string) => Promise<Uint8Array>;
    readdir?: (path: string) => Promise<string[]>;
    utimes?: (path: string, atime: Date, mtime: Date) => Promise<void>;
    unlink?: (path: string) => Promise<void>;
    stat?: (path: string) => Promise<any>;
    statSync?: (path: string) => any;
    homedir?: () => string;
    tmpdir?: () => string;
    writeFileSync?: (filename: string, data: string) => void;
    appendFileSync?: (filename: string, data: string) => void;
    readFileSync?: (filename: string, encoding: string) => string;
    unlinkSync?: (path: string) => void;
    openFile?: (path: string, flags: string) => Promise<any>;
    gunzip?: (data: any) => Promise<any>;
    gzip?: (data: any) => Promise<any>;
}
declare const iso: Common;

type DebugLogLevel = "error" | "warn" | "info" | "debug";
type DebugLogLevelOption = DebugLogLevel | false | undefined;
declare function resetDebugLoggerForTests(): void;

/**
 * Abstract base class for ID generators
 */
declare abstract class IDGenerator {
    /**
     * Generate a span ID
     */
    abstract getSpanId(): string;
    /**
     * Generate a trace ID
     */
    abstract getTraceId(): string;
    /**
     * Return true if the generator should use span_id as root_span_id for backwards compatibility
     */
    abstract shareRootSpanId(): boolean;
}
/**
 * ID generator that uses UUID4 for both span and trace IDs
 */
declare class UUIDGenerator extends IDGenerator {
    getSpanId(): string;
    getTraceId(): string;
    shareRootSpanId(): boolean;
}
/**
 * Factory function that creates a new ID generator instance each time.
 *
 * This eliminates global state and makes tests parallelizable.
 * Each caller gets their own generator instance.
 */
declare function getIdGenerator(): IDGenerator;

declare const TRANSACTION_ID_FIELD = "_xact_id";
declare const IS_MERGE_FIELD = "_is_merge";
declare const MERGE_PATHS_FIELD = "_merge_paths";
declare const AUDIT_SOURCE_FIELD = "_audit_source";
declare const AUDIT_METADATA_FIELD = "_audit_metadata";
declare const VALID_SOURCES: readonly ["app", "api", "external"];
type Source = (typeof VALID_SOURCES)[number];
declare const ASYNC_SCORING_CONTROL_FIELD = "_async_scoring_control";
declare const SKIP_ASYNC_SCORING_FIELD = "_skip_async_scoring";
type TransactionId = string;

declare const AsyncScoringControl: z.ZodUnion<[z.ZodObject<{
    kind: z.ZodLiteral<"score_update">;
    token: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    kind: "score_update";
    token?: string | undefined;
}, {
    kind: "score_update";
    token?: string | undefined;
}>, z.ZodObject<{
    kind: z.ZodLiteral<"state_override">;
    state: z.ZodUnion<[z.ZodObject<{
        status: z.ZodLiteral<"enabled">;
        token: z.ZodString;
        function_ids: z.ZodArray<z.ZodUnknown, "many">;
        skip_logging: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        status: "enabled";
        token: string;
        function_ids: unknown[];
        skip_logging?: boolean | null | undefined;
    }, {
        status: "enabled";
        token: string;
        function_ids: unknown[];
        skip_logging?: boolean | null | undefined;
    }>, z.ZodObject<{
        status: z.ZodLiteral<"disabled">;
    }, "strip", z.ZodTypeAny, {
        status: "disabled";
    }, {
        status: "disabled";
    }>, z.ZodNull, z.ZodNull]>;
}, "strip", z.ZodTypeAny, {
    kind: "state_override";
    state: {
        status: "enabled";
        token: string;
        function_ids: unknown[];
        skip_logging?: boolean | null | undefined;
    } | {
        status: "disabled";
    } | null;
}, {
    kind: "state_override";
    state: {
        status: "enabled";
        token: string;
        function_ids: unknown[];
        skip_logging?: boolean | null | undefined;
    } | {
        status: "disabled";
    } | null;
}>, z.ZodObject<{
    kind: z.ZodLiteral<"state_force_reselect">;
}, "strip", z.ZodTypeAny, {
    kind: "state_force_reselect";
}, {
    kind: "state_force_reselect";
}>, z.ZodObject<{
    kind: z.ZodLiteral<"state_enabled_force_rescore">;
}, "strip", z.ZodTypeAny, {
    kind: "state_enabled_force_rescore";
}, {
    kind: "state_enabled_force_rescore";
}>, z.ZodObject<{
    kind: z.ZodLiteral<"add_triggered_functions">;
    triggered_function_ids: z.ZodArray<z.ZodUnknown, "many">;
}, "strip", z.ZodTypeAny, {
    kind: "add_triggered_functions";
    triggered_function_ids: unknown[];
}, {
    kind: "add_triggered_functions";
    triggered_function_ids: unknown[];
}>, z.ZodObject<{
    kind: z.ZodLiteral<"complete_triggered_functions">;
    function_ids: z.ZodArray<z.ZodUnknown, "many">;
    triggered_xact_id: z.ZodString;
}, "strip", z.ZodTypeAny, {
    triggered_xact_id: string;
    function_ids: unknown[];
    kind: "complete_triggered_functions";
}, {
    triggered_xact_id: string;
    function_ids: unknown[];
    kind: "complete_triggered_functions";
}>]>;
type AsyncScoringControlType = z.infer<typeof AsyncScoringControl>;
declare const ObjectReference: z.ZodObject<{
    object_type: z.ZodEnum<["project_logs", "experiment", "dataset", "prompt", "function", "prompt_session"]>;
    object_id: z.ZodString;
    id: z.ZodString;
    _xact_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    created: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    id: string;
    object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
    object_id: string;
    created?: string | null | undefined;
    _xact_id?: string | null | undefined;
}, {
    id: string;
    object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
    object_id: string;
    created?: string | null | undefined;
    _xact_id?: string | null | undefined;
}>;
type ObjectReferenceType = z.infer<typeof ObjectReference>;

type IdField = {
    id: string;
};
type InputField = {
    input: unknown;
};
type OtherExperimentLogFields = {
    output: unknown;
    expected: unknown;
    error: unknown;
    tags: string[];
    scores: Record<string, number | null>;
    classifications?: Record<string, {
        id: string;
        label?: string;
    }[]>;
    metadata: Record<string, unknown>;
    metrics: Record<string, unknown>;
    datasetRecordId: string;
    origin: ObjectReferenceType;
    span_attributes: Record<string, unknown>;
    [ASYNC_SCORING_CONTROL_FIELD]: AsyncScoringControlType;
    [MERGE_PATHS_FIELD]: string[][];
    [SKIP_ASYNC_SCORING_FIELD]: boolean;
};
type ExperimentLogPartialArgs = Partial<OtherExperimentLogFields> & Partial<InputField>;
type ExperimentLogFullArgs = Partial<Omit<OtherExperimentLogFields, "output" | "scores">> & Required<Pick<OtherExperimentLogFields, "output" | "scores">> & Partial<InputField> & Partial<IdField>;
type LogFeedbackFullArgs = IdField & Partial<Omit<OtherExperimentLogFields, "output" | "metrics" | "datasetRecordId"> & {
    comment: string;
    source: Source;
}>;
interface ParentExperimentIds {
    experiment_id: string;
}
interface ParentProjectLogIds {
    project_id: string;
    log_id: "g";
}
interface ParentPlaygroundLogIds {
    prompt_session_id: string;
    log_id: "x";
}
type LogCommentFullArgs = IdField & {
    created: string;
    origin: {
        id: string;
    };
    comment: {
        text: string;
    };
    [AUDIT_SOURCE_FIELD]: Source;
    [AUDIT_METADATA_FIELD]?: Record<string, unknown>;
} & (ParentExperimentIds | ParentProjectLogIds);
type ExperimentEvent = Partial<InputField> & Partial<OtherExperimentLogFields> & {
    id: string;
    span_id?: string;
    root_span_id?: string;
    experiment_id: string;
    [IS_MERGE_FIELD]: boolean;
} & Partial<{
    created: string;
    span_parents: string[];
    span_attributes: Record<string, unknown>;
    context: Record<string, unknown>;
    [AUDIT_SOURCE_FIELD]: Source;
    [AUDIT_METADATA_FIELD]?: Record<string, unknown>;
}>;
type DatasetEvent = {
    input?: unknown;
    tags?: string[];
    metadata?: unknown;
    created?: string;
    origin?: ObjectReferenceType;
    id: string;
    dataset_id: string;
} & ({
    expected?: unknown;
} | {
    output?: unknown;
});
type LoggingEvent = Omit<ExperimentEvent, "experiment_id"> & {
    project_id: string;
    log_id: "g";
};
type PlaygroundLogEvent = Omit<ExperimentEvent, "experiment_id"> & {
    prompt_session_id: string;
    log_id: "x";
};
type CommentEvent = IdField & {
    created: string;
    origin: {
        id: string;
    };
    comment: {
        text: string;
    };
    [AUDIT_SOURCE_FIELD]: Source;
    [AUDIT_METADATA_FIELD]?: Record<string, unknown>;
} & (ParentExperimentIds | ParentProjectLogIds | ParentPlaygroundLogIds);
type BackgroundLogEvent = ExperimentEvent | DatasetEvent | LoggingEvent | PlaygroundLogEvent | CommentEvent;
declare const DEFAULT_IS_LEGACY_DATASET = false;
interface LegacyDatasetRecord {
    id: string;
    input: any;
    output: any;
    metadata: any;
}
interface NewDatasetRecord {
    id: string;
    input: any;
    expected: any;
    tags: any;
    metadata: any;
}
type DatasetRecord<IsLegacyDataset extends boolean = typeof DEFAULT_IS_LEGACY_DATASET> = IsLegacyDataset extends true ? LegacyDatasetRecord : NewDatasetRecord;

declare enum SpanObjectTypeV3 {
    EXPERIMENT = 1,
    PROJECT_LOGS = 2,
    PLAYGROUND_LOGS = 3
}
declare const spanComponentsV3Schema: z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
    object_type: z.ZodNativeEnum<typeof SpanObjectTypeV3>;
    propagated_event: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
}, "strip", z.ZodTypeAny, {
    object_type: SpanObjectTypeV3;
    propagated_event?: Record<string, unknown> | null | undefined;
}, {
    object_type: SpanObjectTypeV3;
    propagated_event?: Record<string, unknown> | null | undefined;
}>, z.ZodUnion<[z.ZodObject<{
    object_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    compute_object_metadata_args: z.ZodOptional<z.ZodNull>;
}, "strip", z.ZodTypeAny, {
    object_id?: string | null | undefined;
    compute_object_metadata_args?: null | undefined;
}, {
    object_id?: string | null | undefined;
    compute_object_metadata_args?: null | undefined;
}>, z.ZodObject<{
    object_id: z.ZodOptional<z.ZodNull>;
    compute_object_metadata_args: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
    compute_object_metadata_args: Record<string, unknown>;
    object_id?: null | undefined;
}, {
    compute_object_metadata_args: Record<string, unknown>;
    object_id?: null | undefined;
}>]>>, z.ZodUnion<[z.ZodObject<{
    row_id: z.ZodString;
    span_id: z.ZodString;
    root_span_id: z.ZodString;
}, "strip", z.ZodTypeAny, {
    span_id: string;
    root_span_id: string;
    row_id: string;
}, {
    span_id: string;
    root_span_id: string;
    row_id: string;
}>, z.ZodObject<{
    row_id: z.ZodOptional<z.ZodNull>;
    span_id: z.ZodOptional<z.ZodNull>;
    root_span_id: z.ZodOptional<z.ZodNull>;
}, "strip", z.ZodTypeAny, {
    span_id?: null | undefined;
    root_span_id?: null | undefined;
    row_id?: null | undefined;
}, {
    span_id?: null | undefined;
    root_span_id?: null | undefined;
    row_id?: null | undefined;
}>]>>;
type SpanComponentsV3Data = z.infer<typeof spanComponentsV3Schema>;
declare class SpanComponentsV3 {
    data: SpanComponentsV3Data;
    constructor(data: SpanComponentsV3Data);
    toStr(): string;
    static fromStr(s: string): SpanComponentsV3;
    objectIdFields(): ParentExperimentIds | ParentProjectLogIds | ParentPlaygroundLogIds;
    export(): Promise<string>;
    private static fromJsonObj;
}

/**
 * The result returned by a classifier function. Unlike `Score`, `id` is
 * required and the span will be recorded as a classifier span.
 */
interface Classification {
    /**
     * The name of this classification result. Used as the key in the
     * `classifications` log record. If omitted, defaults to the classifier
     * function's name.
     */
    name: string;
    /**
     * A machine-readable identifier for the classification outcome
     * (e.g. `"positive"`, `"negative"`, `"neutral"`). This value is stored
     * in the log and used for programmatic analysis.
     */
    id: string;
    /**
     * An optional human-readable display label for this outcome. If omitted,
     * defaults to `id`. Use this when you want a friendlier label in the UI
     * while keeping a stable `id` for programmatic use.
     */
    label?: string;
    /**
     * Optional arbitrary metadata to attach to this classification result.
     */
    metadata?: Record<string, unknown>;
}
/**
 * The serialized form of a classification stored in the `classifications` log record.
 */
interface ClassificationItem {
    id: string;
    label: string;
    metadata?: Record<string, unknown>;
}
interface Score {
    name: string;
    score: number | null;
    metadata?: Record<string, unknown>;
    /**
     * @deprecated
     */
    error?: unknown;
}

declare const spanComponentsV4Schema: z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
    object_type: z.ZodNativeEnum<typeof SpanObjectTypeV3>;
    propagated_event: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
}, "strip", z.ZodTypeAny, {
    object_type: SpanObjectTypeV3;
    propagated_event?: Record<string, unknown> | null | undefined;
}, {
    object_type: SpanObjectTypeV3;
    propagated_event?: Record<string, unknown> | null | undefined;
}>, z.ZodUnion<[z.ZodObject<{
    object_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    compute_object_metadata_args: z.ZodOptional<z.ZodNull>;
}, "strip", z.ZodTypeAny, {
    object_id?: string | null | undefined;
    compute_object_metadata_args?: null | undefined;
}, {
    object_id?: string | null | undefined;
    compute_object_metadata_args?: null | undefined;
}>, z.ZodObject<{
    object_id: z.ZodOptional<z.ZodNull>;
    compute_object_metadata_args: z.ZodRecord<z.ZodString, z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
    compute_object_metadata_args: Record<string, unknown>;
    object_id?: null | undefined;
}, {
    compute_object_metadata_args: Record<string, unknown>;
    object_id?: null | undefined;
}>]>>, z.ZodUnion<[z.ZodObject<{
    row_id: z.ZodString;
    span_id: z.ZodString;
    root_span_id: z.ZodString;
}, "strip", z.ZodTypeAny, {
    span_id: string;
    root_span_id: string;
    row_id: string;
}, {
    span_id: string;
    root_span_id: string;
    row_id: string;
}>, z.ZodObject<{
    row_id: z.ZodOptional<z.ZodNull>;
    span_id: z.ZodOptional<z.ZodNull>;
    root_span_id: z.ZodOptional<z.ZodNull>;
}, "strip", z.ZodTypeAny, {
    span_id?: null | undefined;
    root_span_id?: null | undefined;
    row_id?: null | undefined;
}, {
    span_id?: null | undefined;
    root_span_id?: null | undefined;
    row_id?: null | undefined;
}>]>>;
type SpanComponentsV4Data = z.infer<typeof spanComponentsV4Schema>;
declare class SpanComponentsV4 {
    data: SpanComponentsV4Data;
    constructor(data: SpanComponentsV4Data);
    toStr(): string;
    static fromStr(s: string): SpanComponentsV4;
    objectIdFields(): ParentExperimentIds | ParentProjectLogIds | ParentPlaygroundLogIds;
    export(): Promise<string>;
    private static fromJsonObj;
}

declare const spanTypeAttributeValues: readonly ["llm", "score", "function", "eval", "task", "tool", "automation", "facet", "preprocessor", "classifier", "review"];
type SpanType = (typeof spanTypeAttributeValues)[number];

declare class LazyValue<T> {
    private callable;
    private resolvedValue;
    private value;
    constructor(callable: () => Promise<T>);
    get(): Promise<T>;
    getSync(): {
        resolved: boolean;
        value: T | undefined;
    };
    get hasSucceeded(): boolean;
}
declare function addAzureBlobHeaders(headers: Record<string, string>, url: string): void;

type TemplateFormat = "mustache" | "nunjucks" | "none";
interface TemplateRenderer {
    render: (template: string, variables: Record<string, unknown>, escape: (v: unknown) => string, strict: boolean) => string;
    lint?: (template: string, variables: Record<string, unknown>) => void;
}
/**
 * A template renderer plugin that can be registered with Braintrust.
 *
 * Plugins provide support for different template engines (e.g., Nunjucks).
 * They use a factory pattern where the plugin is registered once, then activated with specific
 * configuration options when needed.
 *
 * @example
 * ```typescript
 * import type { TemplateRendererPlugin } from "braintrust";
 *
 * export const myPlugin: TemplateRendererPlugin = {
 *   name: "my-template-engine",
 *   version: "1.0.0",
 *   defaultOptions: { strict: false },
 *   createRenderer(options?: unknown) {
 *     const opts = options ?? this.defaultOptions;
 *     return {
 *       render(template, variables, escape, strict) {
 *         // Your rendering logic here
 *       }
 *     };
 *   }
 * };
 * ```
 */
interface TemplateRendererPlugin {
    /**
     * Unique identifier for this plugin.
     * Must match the format string used in `templateFormat` option.
     */
    name: string;
    /**
     * Factory function that creates a renderer instance.
     *
     * @param options - If not provided, `defaultOptions` is used.
     * @returns A configured TemplateRenderer instance
     */
    createRenderer: () => TemplateRenderer;
    /**
     * Default configuration options for this plugin.
     */
    defaultOptions?: unknown;
}
declare class TemplatePluginRegistry {
    private plugins;
    register(plugin: TemplateRendererPlugin): void;
    getAvailable(): string[];
    get(name: string): TemplateRenderer | undefined;
    isRegistered(name: string): boolean;
}
declare const templateRegistry: TemplatePluginRegistry;
/**
 * Register a template plugin and optionally activate it
 *
 * If `options` is provided it will be used to create the active renderer.
 * If `options` is omitted but the plugin defines `defaultOptions`, the
 * registry will activate the renderer using those defaults.
 */
declare const registerTemplatePlugin: (plugin: TemplateRendererPlugin) => void;
/**
 * Gets an active template renderer by name.
 *
 * Returns `undefined` if the renderer is not active.
 *
 * @param name - Name of the renderer to retrieve
 * @returns The active renderer, or undefined if not activated
 *
 * @example
 * ```typescript
 * import { getTemplateRenderer } from "braintrust";
 *
 * const renderer = getTemplateRenderer("nunjucks");
 * if (renderer) {
 *   const output = renderer.render(template, variables, escape, strict);
 * }
 * ```
 */
declare const getTemplateRenderer: (name: string) => TemplateRenderer | undefined;

/**
 * Options for configuring an LRUCache instance.
 */
interface LRUCacheOptions {
    /**
     * Maximum number of items to store in the cache.
     * If not specified, the cache will grow unbounded.
     */
    max?: number;
}
/**
 * A Least Recently Used (LRU) cache implementation.
 *
 * This cache maintains items in order of use, evicting the least recently used item
 * when the cache reaches its maximum size (if specified). Items are considered "used"
 * when they are either added to the cache or retrieved from it.
 *
 * If no maximum size is specified, the cache will grow unbounded.
 *
 * @template K - The type of keys stored in the cache.
 * @template V - The type of values stored in the cache.
 */
declare class LRUCache<K, V> {
    private cache;
    private readonly maxSize?;
    constructor(options?: LRUCacheOptions);
    /**
     * Retrieves a value from the cache.
     * If the key exists, the item is marked as most recently used.
     *
     * @param key - The key to look up.
     * @returns The cached value if found, undefined otherwise.
     */
    get(key: K): V | undefined;
    /**
     * Stores a value in the cache.
     * If the key already exists, the value is updated and marked as most recently used.
     * If the cache is at its maximum size, the least recently used item is evicted.
     *
     * @param key - The key to store.
     * @param value - The value to store.
     */
    set(key: K, value: V): void;
    /**
     * Removes all items from the cache.
     */
    clear(): void;
}

/**
 * Configuration options for DiskCache.
 */
interface DiskCacheOptions {
    /**
     * Directory where cache files will be stored.
     */
    cacheDir: string;
    /**
     * Maximum number of entries to store in the cache.
     * If not specified, the cache will grow unbounded.
     */
    max?: number;
    logWarnings?: boolean;
    /**
     * Whether to create the cache directory if it doesn't exist.
     */
    mkdir?: boolean;
}
/**
 * A persistent filesystem-based cache implementation.
 *
 * This cache stores entries as compressed files on disk and implements an LRU eviction
 * policy based on file modification times (mtime). While access times (atime) would be more
 * semantically accurate for LRU, we use mtime because:
 *
 * 1. Many modern filesystems mount with noatime for performance reasons.
 * 2. Even when atime updates are enabled, they may be subject to update delays.
 * 3. mtime updates are more reliably supported across different filesystems.
 *
 * @template T - The type of values stored in the cache.
 */
declare class DiskCache<T> {
    private readonly dir;
    private readonly max?;
    private readonly mkdir;
    private readonly logWarnings;
    /**
     * Creates a new DiskCache instance.
     * @param options - Configuration options for the cache.
     */
    constructor(options: DiskCacheOptions);
    getEntryPath(key: string): string;
    /**
     * Retrieves a value from the cache.
     * Updates the entry's access time when read.
     *
     * @param key - The key to look up in the cache.
     * @returns The cached value if found, undefined otherwise.
     */
    get(key: string): Promise<T | undefined>;
    /**
     * Stores a value in the cache.
     * If the cache is at its maximum size, the least recently used entries will be evicted.
     *
     * @param key - The key to store the value under.
     * @param value - The value to store in the cache.
     */
    set(key: string, value: T): Promise<void>;
    private evictOldestIfFull;
}

/**
 * Identifies a prompt in the cache using either project ID or project name along with the slug.
 */
interface PromptKey {
    /**
     * The slug identifier for the prompt within its project.
     */
    slug?: string;
    /**
     * The version of the prompt.
     */
    version?: string;
    /**
     * The ID of the project containing the prompt.
     * Either projectId or projectName must be provided.
     */
    projectId?: string;
    /**
     * The name of the project containing the prompt.
     * Either projectId or projectName must be provided.
     */
    projectName?: string;
    /**
     * The ID of a specific prompt. If provided, slug and project parameters are ignored.
     */
    id?: string;
}
/**
 * A configurable cache for Braintrust prompts with optional in-memory and filesystem storage.
 *
 * This cache can use either layer independently, both layers together, or no layers.
 */
declare class PromptCache {
    private readonly memoryCache?;
    private readonly diskCache?;
    constructor(options: {
        memoryCache?: LRUCache<string, Prompt>;
        diskCache?: DiskCache<Prompt>;
    });
    /**
     * Retrieves a prompt from the cache.
     * First checks the in-memory LRU cache, then falls back to checking the disk cache if available.
     */
    get(key: PromptKey): Promise<Prompt | undefined>;
    /**
     * Stores a prompt in the cache.
     * Writes to the in-memory cache and the disk cache if available.
     *
     * @param key - The key to store the value under.
     * @param value - The value to store in the cache.
     * @throws If there is an error writing to the disk cache.
     */
    set(key: PromptKey, value: Prompt): Promise<void>;
}

interface ParametersKey {
    slug?: string;
    version?: string;
    projectId?: string;
    projectName?: string;
    id?: string;
}
declare class ParametersCache {
    private readonly memoryCache?;
    private readonly diskCache?;
    constructor(options: {
        memoryCache?: LRUCache<string, RemoteEvalParameters>;
        diskCache?: DiskCache<RemoteEvalParameters>;
    });
    get(key: ParametersKey): Promise<RemoteEvalParameters | undefined>;
    set(key: ParametersKey, value: RemoteEvalParameters): Promise<void>;
}

/**
 * SpanCache provides a disk-based cache for span data, allowing
 * scorers to read spans without making server round-trips when possible.
 *
 * Spans are stored on disk to minimize memory usage during evaluations.
 * The cache file is automatically cleaned up when dispose() is called.
 *
 * In browser environments where filesystem access isn't available,
 * the cache becomes a no-op (all lookups return undefined).
 */
interface CachedSpan {
    input?: unknown;
    output?: unknown;
    expected?: unknown;
    error?: unknown;
    scores?: Record<string, unknown>;
    metrics?: Record<string, unknown>;
    metadata?: Record<string, unknown>;
    tags?: string[];
    span_id: string;
    span_parents?: string[];
    is_root?: boolean | null;
    span_attributes?: {
        name?: string;
        type?: string;
        [key: string]: unknown;
    };
}
/**
 * Disk-based cache for span data, keyed by rootSpanId.
 *
 * This cache writes spans to a temporary file to minimize memory usage.
 * It uses append-only writes and reads the full file when querying.
 *
 * In browser environments, this cache is automatically disabled and
 * all operations become no-ops.
 */
declare class SpanCache {
    private cacheFilePath;
    private fileHandle;
    private initialized;
    private initPromise;
    private _explicitlyDisabled;
    private _enabled;
    private _activeEvalCount;
    private rootSpanIndex;
    constructor(options?: {
        disabled?: boolean;
    });
    /**
     * Disable the cache at runtime. This is called automatically when
     * initFunction is used, since remote function spans won't be in the cache.
     */
    disable(): void;
    /**
     * Start caching spans for use during evaluations.
     * This only starts caching if the cache wasn't permanently disabled.
     * Called by Eval() to turn on caching for the duration of the eval.
     * Uses reference counting to support parallel evals.
     */
    start(): void;
    /**
     * Stop caching spans and return to the default disabled state.
     * Unlike disable(), this allows start() to work again for future evals.
     * Called after an eval completes to return to the default state.
     * Uses reference counting - only disables when all evals are complete.
     */
    stop(): void;
    get disabled(): boolean;
    private ensureInitialized;
    /**
     * Register a handler to clean up the temp file on process exit.
     * Uses a global registry to avoid registering multiple handlers.
     */
    private registerExitHandler;
    private writeBuffer;
    private flushScheduled;
    private flushPromise;
    /**
     * Queue a span write for async flushing.
     * This is non-blocking - writes are buffered in memory and flushed
     * to disk on the next microtask.
     */
    queueWrite(rootSpanId: string, spanId: string, data: CachedSpan): void;
    /**
     * Flush the write buffer to disk asynchronously.
     * Called automatically after queueWrite, but can also be called explicitly.
     */
    flushWriteBuffer(): Promise<void>;
    /**
     * Wait for any pending writes to complete.
     * Call this before reading from the cache to ensure consistency.
     */
    waitForPendingWrites(): Promise<void>;
    /**
     * Get all cached spans for a given rootSpanId.
     *
     * This reads the file and merges all records for the given rootSpanId.
     *
     * @param rootSpanId The root span ID to look up
     * @returns Array of cached spans, or undefined if not in cache
     */
    getByRootSpanId(rootSpanId: string): CachedSpan[] | undefined;
    /**
     * Check if a rootSpanId has cached data.
     */
    has(rootSpanId: string): boolean;
    /**
     * Clear all cached spans for a given rootSpanId.
     * Note: This only removes from the index. The data remains in the file
     * but will be ignored on reads.
     */
    clear(rootSpanId: string): void;
    /**
     * Clear all cached data and remove the cache file.
     */
    clearAll(): void;
    /**
     * Get the number of root spans currently tracked.
     */
    get size(): number;
    /**
     * Clean up the cache file. Call this when the eval is complete.
     * Only performs cleanup when all active evals have completed (refcount = 0).
     */
    dispose(): void;
}

declare const evalParametersSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
    type: z.ZodLiteral<"prompt">;
    default: z.ZodOptional<z.ZodIntersection<z.ZodIntersection<z.ZodUnion<[z.ZodObject<{
        prompt: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        prompt: string;
    }, {
        prompt: string;
    }>, z.ZodObject<{
        messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">]>;
            role: z.ZodLiteral<"system">;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "system";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }, {
            role: "system";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, z.ZodObject<{
                image_url: z.ZodObject<{
                    url: z.ZodString;
                    detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                }, "strip", z.ZodTypeAny, {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                }, {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                }>;
                type: z.ZodLiteral<"image_url">;
            }, "strip", z.ZodTypeAny, {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            }, {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            }>, z.ZodObject<{
                file: z.ZodObject<{
                    file_data: z.ZodOptional<z.ZodString>;
                    filename: z.ZodOptional<z.ZodString>;
                    file_id: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                }, {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                }>;
                type: z.ZodLiteral<"file">;
            }, "strip", z.ZodTypeAny, {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            }, {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            }>]>, "many">]>;
            role: z.ZodLiteral<"user">;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "user";
            content: string | ({
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        }, {
            role: "user";
            content: string | ({
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        }>, z.ZodObject<{
            role: z.ZodLiteral<"assistant">;
            content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">, z.ZodNull]>>;
            function_call: z.ZodOptional<z.ZodObject<{
                arguments: z.ZodString;
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                arguments: string;
            }, {
                name: string;
                arguments: string;
            }>>;
            name: z.ZodOptional<z.ZodString>;
            tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                function: z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>;
                type: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }, {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }>, "many">>;
            reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                id: z.ZodOptional<z.ZodString>;
                content: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                content?: string | undefined;
            }, {
                id?: string | undefined;
                content?: string | undefined;
            }>, "many">>;
            reasoning_signature: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        }, {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">]>;
            role: z.ZodLiteral<"tool">;
            tool_call_id: z.ZodDefault<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "tool";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id: string;
        }, {
            role: "tool";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id?: string | undefined;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
            name: z.ZodString;
            role: z.ZodLiteral<"function">;
        }, "strip", z.ZodTypeAny, {
            role: "function";
            name: string;
            content: string | null;
        }, {
            role: "function";
            name: string;
            content: string | null;
        }>, z.ZodObject<{
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                text: z.ZodDefault<z.ZodString>;
                type: z.ZodLiteral<"text">;
                cache_control: z.ZodOptional<z.ZodObject<{
                    type: z.ZodLiteral<"ephemeral">;
                }, "strip", z.ZodTypeAny, {
                    type: "ephemeral";
                }, {
                    type: "ephemeral";
                }>>;
            }, "strip", z.ZodTypeAny, {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }, {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }>, "many">]>;
            role: z.ZodLiteral<"developer">;
            name: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            role: "developer";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }, {
            role: "developer";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        }>, z.ZodObject<{
            role: z.ZodLiteral<"model">;
            content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            role: "model";
            content?: string | null | undefined;
        }, {
            role: "model";
            content?: string | null | undefined;
        }>]>, "many">;
    }, "strip", z.ZodTypeAny, {
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id: string;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
    }, {
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id?: string | undefined;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
    }>]>, z.ZodObject<{
        model: z.ZodString;
        params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough">>]>>;
        templateFormat: z.ZodOptional<z.ZodEnum<["mustache", "nunjucks", "none"]>>;
        environments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    }, "strip", z.ZodTypeAny, {
        model: string;
        params?: z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        templateFormat?: "none" | "mustache" | "nunjucks" | undefined;
        environments?: string[] | undefined;
    }, {
        model: string;
        params?: z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        templateFormat?: "none" | "mustache" | "nunjucks" | undefined;
        environments?: string[] | undefined;
    }>>, z.ZodObject<{
        tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                parameters: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                strict?: boolean | null | undefined;
                parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            }, {
                name: string;
                description?: string | undefined;
                strict?: boolean | null | undefined;
                parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                description?: string | undefined;
                strict?: boolean | null | undefined;
                parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            };
            type: "function";
        }, {
            function: {
                name: string;
                description?: string | undefined;
                strict?: boolean | null | undefined;
                parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            };
            type: "function";
        }>, "many">>;
    }, "strip", z.ZodTypeAny, {
        tools?: {
            function: {
                name: string;
                description?: string | undefined;
                strict?: boolean | null | undefined;
                parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            };
            type: "function";
        }[] | undefined;
    }, {
        tools?: {
            function: {
                name: string;
                description?: string | undefined;
                strict?: boolean | null | undefined;
                parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            };
            type: "function";
        }[] | undefined;
    }>>>;
    description: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "prompt";
    description?: string | undefined;
    default?: ((({
        prompt: string;
    } | {
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id: string;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text: string;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
    }) & {
        model: string;
        params?: z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        templateFormat?: "none" | "mustache" | "nunjucks" | undefined;
        environments?: string[] | undefined;
    }) & {
        tools?: {
            function: {
                name: string;
                description?: string | undefined;
                strict?: boolean | null | undefined;
                parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            };
            type: "function";
        }[] | undefined;
    }) | undefined;
}, {
    type: "prompt";
    description?: string | undefined;
    default?: ((({
        prompt: string;
    } | {
        messages: ({
            role: "system";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "user";
            content: string | ({
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            } | {
                type: "image_url";
                image_url: {
                    url: string;
                    detail?: "auto" | "low" | "high" | undefined;
                };
            } | {
                type: "file";
                file: {
                    filename?: string | undefined;
                    file_data?: string | undefined;
                    file_id?: string | undefined;
                };
            })[];
            name?: string | undefined;
        } | {
            role: "assistant";
            name?: string | undefined;
            function_call?: {
                name: string;
                arguments: string;
            } | undefined;
            content?: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[] | null | undefined;
            tool_calls?: {
                function: {
                    name: string;
                    arguments: string;
                };
                type: "function";
                id: string;
            }[] | undefined;
            reasoning?: {
                id?: string | undefined;
                content?: string | undefined;
            }[] | undefined;
            reasoning_signature?: string | undefined;
        } | {
            role: "tool";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            tool_call_id?: string | undefined;
        } | {
            role: "function";
            name: string;
            content: string | null;
        } | {
            role: "developer";
            content: string | {
                type: "text";
                text?: string | undefined;
                cache_control?: {
                    type: "ephemeral";
                } | undefined;
            }[];
            name?: string | undefined;
        } | {
            role: "model";
            content?: string | null | undefined;
        })[];
    }) & {
        model: string;
        params?: z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            top_p: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodOptional<z.ZodNumber>;
            max_completion_tokens: z.ZodOptional<z.ZodNumber>;
            frequency_penalty: z.ZodOptional<z.ZodNumber>;
            presence_penalty: z.ZodOptional<z.ZodNumber>;
            response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"json_object">;
            }, "strip", z.ZodTypeAny, {
                type: "json_object";
            }, {
                type: "json_object";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"json_schema">;
                json_schema: z.ZodObject<{
                    name: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                    strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }, {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }, {
                type: "json_schema";
                json_schema: {
                    name: string;
                    description?: string | undefined;
                    schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                    strict?: boolean | null | undefined;
                };
            }>, z.ZodObject<{
                type: z.ZodLiteral<"text">;
            }, "strip", z.ZodTypeAny, {
                type: "text";
            }, {
                type: "text";
            }>, z.ZodNull]>>;
            tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                type: z.ZodLiteral<"function">;
                function: z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                function: {
                    name: string;
                };
                type: "function";
            }, {
                function: {
                    name: string;
                };
                type: "function";
            }>]>>;
            function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>]>>;
            n: z.ZodOptional<z.ZodNumber>;
            stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
            verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            max_tokens: z.ZodNumber;
            temperature: z.ZodNumber;
            top_p: z.ZodOptional<z.ZodNumber>;
            top_k: z.ZodOptional<z.ZodNumber>;
            stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            maxOutputTokens: z.ZodOptional<z.ZodNumber>;
            topP: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
            temperature: z.ZodOptional<z.ZodNumber>;
            topK: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
            use_cache: z.ZodOptional<z.ZodBoolean>;
            reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
            reasoning_budget: z.ZodOptional<z.ZodNumber>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        templateFormat?: "none" | "mustache" | "nunjucks" | undefined;
        environments?: string[] | undefined;
    }) & {
        tools?: {
            function: {
                name: string;
                description?: string | undefined;
                strict?: boolean | null | undefined;
                parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
            };
            type: "function";
        }[] | undefined;
    }) | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"model">;
    default: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "model";
    description?: string | undefined;
    default?: string | undefined;
}, {
    type: "model";
    description?: string | undefined;
    default?: string | undefined;
}>, z.ZodType<z.ZodType<unknown, z.ZodTypeDef, unknown>, z.ZodTypeDef, z.ZodType<unknown, z.ZodTypeDef, unknown>>]>>;
type EvalParameters = z.infer<typeof evalParametersSchema>;
type InferParameterValue<T> = T extends {
    type: "prompt";
} ? Prompt : T extends {
    type: "model";
} ? string : T extends z.ZodType ? z.infer<T> : never;
type InferParameters<T extends EvalParameters> = {
    [K in keyof T]: InferParameterValue<T[K]>;
};

declare const LOGS3_OVERFLOW_REFERENCE_TYPE = "logs3_overflow";
declare const RESET_CONTEXT_MANAGER_STATE: unique symbol;
declare const DEFAULT_MAX_REQUEST_SIZE: number;

declare const datasetRestorePreviewResultSchema: z.ZodObject<{
    rows_to_restore: z.ZodNumber;
    rows_to_delete: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    rows_to_restore: number;
    rows_to_delete: number;
}, {
    rows_to_restore: number;
    rows_to_delete: number;
}>;
type DatasetRestorePreviewResult = z.infer<typeof datasetRestorePreviewResultSchema>;
declare const datasetRestoreResultSchema: z.ZodObject<{
    xact_id: z.ZodNullable<z.ZodString>;
    rows_restored: z.ZodNumber;
    rows_deleted: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    xact_id: string | null;
    rows_restored: number;
    rows_deleted: number;
}, {
    xact_id: string | null;
    rows_restored: number;
    rows_deleted: number;
}>;
type DatasetRestoreResult = z.infer<typeof datasetRestoreResultSchema>;
declare const parametersRowSchema: z.ZodObject<{
    id: z.ZodString;
    _xact_id: z.ZodString;
    project_id: z.ZodString;
    name: z.ZodString;
    slug: z.ZodString;
    description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    function_type: z.ZodLiteral<"parameters">;
    function_data: z.ZodObject<{
        type: z.ZodLiteral<"parameters">;
        data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
        __schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    }, "strip", z.ZodTypeAny, {
        type: "parameters";
        __schema: Record<string, unknown>;
        data?: Record<string, unknown> | undefined;
    }, {
        type: "parameters";
        __schema: Record<string, unknown>;
        data?: Record<string, unknown> | undefined;
    }>;
    metadata: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodNull]>>;
}, "strip", z.ZodTypeAny, {
    id: string;
    name: string;
    function_type: "parameters";
    project_id: string;
    _xact_id: string;
    slug: string;
    function_data: {
        type: "parameters";
        __schema: Record<string, unknown>;
        data?: Record<string, unknown> | undefined;
    };
    metadata?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
    description?: string | null | undefined;
}, {
    id: string;
    name: string;
    function_type: "parameters";
    project_id: string;
    _xact_id: string;
    slug: string;
    function_data: {
        type: "parameters";
        __schema: Record<string, unknown>;
        data?: Record<string, unknown> | undefined;
    };
    metadata?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | null | undefined;
    description?: string | null | undefined;
}>;
type ParametersRow = z.infer<typeof parametersRowSchema>;

interface ContextParentSpanIds {
    rootSpanId: string;
    spanParents: string[];
}
declare class LoginInvalidOrgError extends Error {
    message: string;
    constructor(message: string);
}
type SetCurrentArg = {
    setCurrent?: boolean;
};
type StartSpanEventArgs = ExperimentLogPartialArgs & Partial<IdField>;
type StartSpanArgs = {
    name?: string;
    type?: SpanType;
    spanAttributes?: Record<any, any>;
    startTime?: number;
    parent?: string;
    event?: StartSpanEventArgs;
    propagatedEvent?: StartSpanEventArgs;
    spanId?: string;
    parentSpanIds?: ParentSpanIds | MultiParentSpanIds;
};
type EndSpanArgs = {
    endTime?: number;
};
interface Exportable {
    /**
     * Return a serialized representation of the object that can be used to start subspans in other places. See {@link Span.traced} for more details.
     */
    export(): Promise<string>;
}
/**
 * A Span encapsulates logged data and metrics for a unit of work. This interface is shared by all span implementations.
 *
 * We suggest using one of the various `traced` methods, instead of creating Spans directly. See {@link Span.traced} for full details.
 */
interface Span extends Exportable {
    /**
     * Row ID of the span.
     */
    id: string;
    /**
     * Span ID of the span.
     */
    spanId: string;
    /**
     * Root span ID of the span.
     */
    rootSpanId: string;
    /**
     * Parent span IDs of the span.
     */
    spanParents: string[];
    getParentInfo(): {
        objectType: SpanObjectTypeV3;
        objectId: LazyValue<string>;
        computeObjectMetadataArgs: Record<string, unknown> | undefined;
    } | undefined;
    /**
     * Incrementally update the current span with new data. The event will be batched and uploaded behind the scenes.
     *
     * @param event: Data to be logged. See {@link Experiment.log} for full details.
     */
    log(event: ExperimentLogPartialArgs): void;
    /**
     * Add feedback to the current span. Unlike `Experiment.logFeedback` and `Logger.logFeedback`, this method does not accept an id parameter, because it logs feedback to the current span.
     *
     * @param event: Data to be logged. See {@link Experiment.logFeedback} for full details.
     */
    logFeedback(event: Omit<LogFeedbackFullArgs, "id">): void;
    /**
     * Create a new span and run the provided callback. This is useful if you want to log more detailed trace information beyond the scope of a single log event. Data logged over several calls to `Span.log` will be merged into one logical row.
     *
     * Spans created within `traced` are ended automatically. By default, the span is marked as current, so they can be accessed using `braintrust.currentSpan`.
     *
     * @param callback The function to be run under the span context.
     * @param args.name Optional name of the span. If not provided, a name will be inferred from the call stack.
     * @param args.type Optional type of the span. If not provided, the type will be unset.
     * @param args.span_attributes Optional additional attributes to attach to the span, such as a type name.
     * @param args.start_time Optional start time of the span, as a timestamp in seconds.
     * @param args.setCurrent If true (the default), the span will be marked as the currently-active span for the duration of the callback.
     * @param args.parent Optional parent info string for the span. The string can be generated from `[Span,Experiment,Logger].export`. If not provided, the current span will be used (depending on context). This is useful for adding spans to an existing trace.
     * @param args.event Data to be logged. See {@link Experiment.log} for full details.
     * @returns The result of running `callback`.
     */
    traced<R>(callback: (span: Span) => R, args?: StartSpanArgs & SetCurrentArg): R;
    /**
     * Lower-level alternative to `traced`. This allows you to start a span yourself, and can be useful in situations
     * where you cannot use callbacks. However, spans started with `startSpan` will not be marked as the "current span",
     * so `currentSpan()` and `traced()` will be no-ops. If you want to mark a span as current, use `traced` instead.
     *
     * See {@link Span.traced} for full details.
     *
     * @returns The newly-created `Span`
     */
    startSpan(args?: StartSpanArgs): Span;
    /**
     * Log an end time to the span (defaults to the current time). Returns the logged time.
     *
     * Will be invoked automatically if the span is constructed with `traced`.
     *
     * @param args.endTime Optional end time of the span, as a timestamp in seconds.
     * @returns The end time logged to the span metrics.
     */
    end(args?: EndSpanArgs): number;
    /**
     * Serialize the identifiers of this span. The return value can be used to
     * identify this span when starting a subspan elsewhere, such as another
     * process or service, without needing to access this `Span` object. See the
     * parameters of {@link Span.startSpan} for usage details.
     *
     * Callers should treat the return value as opaque. The serialization format
     * may change from time to time. If parsing is needed, use
     * `SpanComponentsV3.fromStr`.
     *
     * @returns Serialized representation of this span's identifiers.
     */
    export(): Promise<string>;
    /**
     * Format a permalink to the Braintrust application for viewing this span.
     *
     * Links can be generated at any time, but they will only become viewable
     * after the span and its root have been flushed to the server and ingested.
     *
     * This function can block resolving data with the server. For production
     * applications it's preferable to call {@link Span.link} instead.
     *
     * @returns A promise which resolves to a permalink to the span.
     */
    permalink(): Promise<string>;
    /**
     * Format a link to the Braintrust application for viewing this span.
     *
     * Links can be generated at any time, but they will only become viewable
     * after the span and its root have been flushed to the server and ingested.
     *
     * There are some conditions when a Span doesn't have enough information
     * to return a stable link (e.g. during an unresolved experiment). In this case
     * or if there's an error generating link, we'll return a placeholder link.
     *
     * @returns A link to the span.
     */
    link(): string;
    /**
     * Flush any pending rows to the server.
     */
    flush(): Promise<void>;
    /**
     * Alias for `end`.
     */
    close(args?: EndSpanArgs): number;
    /**
     * Set the span's name, type, or other attributes after it's created.
     */
    setAttributes(args: Omit<StartSpanArgs, "event">): void;
    /**
     * Start a span with a specific id and parent span ids.
     */
    startSpanWithParents(spanId: string, spanParents: string[], args?: StartSpanArgs): Span;
    state(): BraintrustState;
    kind: "span";
}
declare const BRAINTRUST_CURRENT_SPAN_STORE: unique symbol;
/**
 * The type of AsyncLocalStorage exposed via {@link BRAINTRUST_CURRENT_SPAN_STORE}.
 *
 * The stored value is intentionally opaque (`unknown`) because the concrete type
 * depends on the active context manager:
 * - Default (`BraintrustContextManager`): stores a `Span`
 * - OTEL compat (`OtelContextManager`): stores an OTEL `Context` object
 *
 * TracingChannel's `bindStore` transform (via `wrapSpanForStore`) produces the
 * correct value type for whichever mode is active.
 */
type CurrentSpanStore = IsoAsyncLocalStorage<unknown>;
declare abstract class ContextManager {
    abstract getParentSpanIds(): ContextParentSpanIds | undefined;
    abstract runInContext<R>(span: Span, callback: () => R): R;
    abstract getCurrentSpan(): Span | undefined;
    /**
     * Returns the value to store in the ALS bound to a TracingChannel's start event.
     * In default mode this is the Span itself; in OTEL mode it is the OTEL Context
     * containing the span so that OTEL's own ALS stores a proper Context object.
     */
    wrapSpanForStore(span: Span): unknown;
}
declare global {
    var BRAINTRUST_CONTEXT_MANAGER: (new () => ContextManager) | undefined;
    var BRAINTRUST_ID_GENERATOR: (new () => IDGenerator) | undefined;
    var BRAINTRUST_SPAN_COMPONENT: SpanComponent | undefined;
}
type SpanComponent = typeof SpanComponentsV3 | typeof SpanComponentsV4;
declare function getContextManager(): ContextManager;
/**
 * A fake implementation of the Span API which does nothing. This can be used as the default span.
 */
declare class NoopSpan implements Span {
    id: string;
    spanId: string;
    rootSpanId: string;
    spanParents: string[];
    kind: "span";
    constructor();
    log(_: ExperimentLogPartialArgs): void;
    logFeedback(_event: Omit<LogFeedbackFullArgs, "id">): void;
    traced<R>(callback: (span: Span) => R, _1?: StartSpanArgs & SetCurrentArg): R;
    getParentInfo(): undefined;
    startSpan(_1?: StartSpanArgs): this;
    end(args?: EndSpanArgs): number;
    export(): Promise<string>;
    permalink(): Promise<string>;
    link(): string;
    flush(): Promise<void>;
    close(args?: EndSpanArgs): number;
    setAttributes(_args: Omit<StartSpanArgs, "event">): void;
    startSpanWithParents(_spanId: string, _spanParents: string[], _args?: StartSpanArgs): Span;
    state(): BraintrustState;
    toString(): string;
}
declare const NOOP_SPAN: NoopSpan;
declare const NOOP_SPAN_PERMALINK = "https://braintrust.dev/noop-span";
declare global {
    interface Global {
        [key: symbol]: any;
    }
}
declare const loginSchema: z.ZodObject<{
    appUrl: z.ZodString;
    appPublicUrl: z.ZodString;
    orgName: z.ZodString;
    apiUrl: z.ZodString;
    proxyUrl: z.ZodString;
    loginToken: z.ZodString;
    orgId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    gitMetadataSettings: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        collect: z.ZodEnum<["all", "none", "some"]>;
        fields: z.ZodOptional<z.ZodArray<z.ZodEnum<["commit", "branch", "tag", "dirty", "author_name", "author_email", "commit_message", "commit_time", "git_diff"]>, "many">>;
    }, "strip", z.ZodTypeAny, {
        collect: "some" | "none" | "all";
        fields?: ("dirty" | "tag" | "commit" | "branch" | "author_name" | "author_email" | "commit_message" | "commit_time" | "git_diff")[] | undefined;
    }, {
        collect: "some" | "none" | "all";
        fields?: ("dirty" | "tag" | "commit" | "branch" | "author_name" | "author_email" | "commit_message" | "commit_time" | "git_diff")[] | undefined;
    }>>>;
    debugLogLevel: z.ZodOptional<z.ZodEnum<["error", "warn", "info", "debug"]>>;
    debugLogLevelDisabled: z.ZodOptional<z.ZodBoolean>;
}, "strict", z.ZodTypeAny, {
    appUrl: string;
    appPublicUrl: string;
    orgName: string;
    apiUrl: string;
    proxyUrl: string;
    loginToken: string;
    orgId?: string | null | undefined;
    gitMetadataSettings?: {
        collect: "some" | "none" | "all";
        fields?: ("dirty" | "tag" | "commit" | "branch" | "author_name" | "author_email" | "commit_message" | "commit_time" | "git_diff")[] | undefined;
    } | null | undefined;
    debugLogLevel?: "error" | "warn" | "info" | "debug" | undefined;
    debugLogLevelDisabled?: boolean | undefined;
}, {
    appUrl: string;
    appPublicUrl: string;
    orgName: string;
    apiUrl: string;
    proxyUrl: string;
    loginToken: string;
    orgId?: string | null | undefined;
    gitMetadataSettings?: {
        collect: "some" | "none" | "all";
        fields?: ("dirty" | "tag" | "commit" | "branch" | "author_name" | "author_email" | "commit_message" | "commit_time" | "git_diff")[] | undefined;
    } | null | undefined;
    debugLogLevel?: "error" | "warn" | "info" | "debug" | undefined;
    debugLogLevelDisabled?: boolean | undefined;
}>;
type SerializedBraintrustState = z.infer<typeof loginSchema>;
declare class BraintrustState {
    private loginParams;
    id: string;
    currentExperiment: Experiment | undefined;
    currentLogger: Logger<false> | undefined;
    currentParent: IsoAsyncLocalStorage<string>;
    currentSpan: IsoAsyncLocalStorage<Span>;
    private _bgLogger;
    private _overrideBgLogger;
    appUrl: string | null;
    appPublicUrl: string | null;
    loginToken: string | null;
    orgId: string | null;
    orgName: string | null;
    apiUrl: string | null;
    proxyUrl: string | null;
    loggedIn: boolean;
    gitMetadataSettings?: GitMetadataSettingsType;
    debugLogLevel?: DebugLogLevel;
    private debugLogLevelConfigured;
    fetch: typeof globalThis.fetch;
    private _appConn;
    private _apiConn;
    private _proxyConn;
    promptCache: PromptCache;
    parametersCache: ParametersCache;
    spanCache: SpanCache;
    private _idGenerator;
    private _contextManager;
    private _otelFlushCallback;
    constructor(loginParams: LoginOptions);
    resetLoginInfo(): void;
    resetIdGenState(): void;
    [RESET_CONTEXT_MANAGER_STATE](): void;
    get idGenerator(): IDGenerator;
    get contextManager(): ContextManager;
    /**
     * Register an OTEL flush callback. This is called by @braintrust/otel
     * when it initializes a BraintrustSpanProcessor/Exporter.
     */
    registerOtelFlush(callback: () => Promise<void>): void;
    /**
     * Flush OTEL spans if a callback is registered.
     * Called during ensureSpansFlushed to ensure OTEL spans are visible in BTQL.
     */
    flushOtel(): Promise<void>;
    copyLoginInfo(other: BraintrustState): void;
    serialize(): SerializedBraintrustState;
    static deserialize(serialized: unknown, opts?: LoginOptions): BraintrustState;
    setFetch(fetch: typeof globalThis.fetch): void;
    setMaskingFunction(maskingFunction: ((value: unknown) => unknown) | null): void;
    setDebugLogLevel(option: DebugLogLevelOption): void;
    getDebugLogLevel(): DebugLogLevel | undefined;
    hasDebugLogLevelOverride(): boolean;
    login(loginParams: LoginOptions & {
        forceLogin?: boolean;
    }): Promise<void>;
    appConn(): HTTPConnection;
    apiConn(): HTTPConnection;
    proxyConn(): HTTPConnection;
    bgLogger(): BackgroundLogger;
    httpLogger(): HTTPBackgroundLogger;
    setOverrideBgLogger(logger: BackgroundLogger | null): void;
    loginReplaceApiConn(apiConn: HTTPConnection): void;
    disable(): void;
    enforceQueueSizeLimit(enforce: boolean): void;
    toJSON(): Record<string, any>;
    toString(): string;
}
declare function useTestBackgroundLogger(): TestBackgroundLogger;
declare function clearTestBackgroundLogger(): void;
declare function initTestExperiment(experimentName: string, projectName?: string, experimentFullInfo?: Record<string, unknown>): Experiment;
/**
 * Initialize the global Braintrust state lazily, it only creates the BraintrustState instance on the first invocation.
 *
 * The state is stored in a global symbol to ensure cross-bundle compatibility.
 *
 * This is invoked by platform-specific initialization functions (configureNode/configureBrowser)
 *
 * @internal
 */
declare function _internalSetInitialState(): void;
/**
 * @internal
 */
declare const _internalGetGlobalState: () => BraintrustState;
/**
 * Register a callback to flush OTEL spans. This is called by @braintrust/otel
 * when it initializes a BraintrustSpanProcessor/Exporter.
 *
 * When ensureSpansFlushed is called (e.g., before a BTQL query in scorers),
 * this callback will be invoked to ensure OTEL spans are flushed to the server.
 *
 * Also disables the span cache, since OTEL spans aren't in the local cache
 * and we need BTQL to see the complete span tree (both native + OTEL spans).
 */
declare function registerOtelFlush(callback: () => Promise<void>): void;
declare class FailedHTTPResponse extends Error {
    status: number;
    text: string;
    data: string;
    constructor(status: number, text: string, data: string);
}
declare class HTTPConnection {
    base_url: string;
    token: string | null;
    headers: Record<string, string>;
    fetch: typeof globalThis.fetch;
    constructor(base_url: string, fetch: typeof globalThis.fetch);
    setFetch(fetch: typeof globalThis.fetch): void;
    ping(): Promise<boolean>;
    make_long_lived(): void;
    static sanitize_token(token: string): string;
    set_token(token: string): void;
    _reset(): void;
    get(path: string, params?: Record<string, string | string[] | undefined> | undefined, config?: RequestInit): Promise<Response>;
    post(path: string, params?: Record<string, unknown> | string, config?: RequestInit): Promise<Response>;
    get_json(object_type: string, args?: Record<string, string | string[] | undefined> | undefined, retries?: number): Promise<any>;
    post_json(object_type: string, args?: Record<string, unknown> | string | undefined): Promise<any>;
    toString(): string;
}
interface ObjectMetadata {
    id: string;
    name: string;
    fullInfo: Record<string, unknown>;
}
interface ProjectExperimentMetadata {
    project: ObjectMetadata;
    experiment: ObjectMetadata;
}
interface ProjectDatasetMetadata {
    project: ObjectMetadata;
    dataset: ObjectMetadata;
}
interface OrgProjectMetadata {
    org_id: string;
    project: ObjectMetadata;
}
interface LinkArgs {
    org_name?: string;
    app_url?: string;
    project_name?: string;
    project_id?: string;
}
interface LogOptions<IsAsyncFlush> {
    asyncFlush?: IsAsyncFlush;
    computeMetadataArgs?: Record<string, any>;
    linkArgs?: LinkArgs;
}
type PromiseUnless<B, R> = B extends true ? R : Promise<Awaited<R>>;
interface AttachmentParams {
    data: string | Blob | ArrayBuffer;
    filename: string;
    contentType: string;
    state?: BraintrustState;
}
interface ExternalAttachmentParams {
    url: string;
    filename: string;
    contentType: string;
    state?: BraintrustState;
}
declare abstract class BaseAttachment {
    readonly reference: AttachmentReferenceType;
    abstract upload(): Promise<AttachmentStatusType>;
    abstract data(): Promise<Blob>;
    abstract debugInfo(): Record<string, unknown>;
}
type DatasetPipelineDeferredJSONAttachmentHook = (data: unknown, options?: {
    filename?: string;
    pretty?: boolean;
}) => object;
declare global {
    var __BT_DATASET_PIPELINE_DEFER_JSON_ATTACHMENT__: DatasetPipelineDeferredJSONAttachmentHook | undefined;
}
/**
 * Represents an attachment to be uploaded and the associated metadata.
 * `Attachment` objects can be inserted anywhere in an event, allowing you to
 * log arbitrary file data. The SDK will asynchronously upload the file to
 * object storage and replace the `Attachment` object with an
 * `AttachmentReference`.
 */
declare class Attachment extends BaseAttachment {
    /**
     * The object that replaces this `Attachment` at upload time.
     */
    readonly reference: BraintrustAttachmentReferenceType;
    private readonly uploader;
    private readonly _data;
    private readonly state?;
    private readonly dataDebugString;
    /**
     * Construct an attachment.
     *
     * @param param A parameter object with:
     *
     * `data`: A string representing the path of the file on disk, or a
     * `Blob`/`ArrayBuffer` with the file's contents. The caller is responsible
     * for ensuring the file/blob/buffer is not modified until upload is complete.
     *
     * `filename`: The desired name of the file in Braintrust after uploading.
     * This parameter is for visualization purposes only and has no effect on
     * attachment storage.
     *
     * `contentType`: The MIME type of the file.
     *
     * `state`: (Optional) For internal use.
     */
    constructor({ data, filename, contentType, state }: AttachmentParams);
    /**
     * On first access, (1) reads the attachment from disk if needed, (2)
     * authenticates with the data plane to request a signed URL, (3) uploads to
     * object store, and (4) updates the attachment.
     *
     * @returns The attachment status.
     */
    upload(): Promise<{
        upload_status: "uploading" | "done" | "error";
        error_message?: string | undefined;
    }>;
    /**
     * The attachment contents. This is a lazy value that will read the attachment contents from disk or memory on first access.
     */
    data(): Promise<Blob>;
    /**
     * A human-readable description for logging and debugging.
     *
     * @returns The debug object. The return type is not stable and may change in
     * a future release.
     */
    debugInfo(): Record<string, unknown>;
    private initUploader;
    private initData;
    private ensureFileReadable;
}
/**
 * Represents an attachment that resides in an external object store and the associated metadata.
 *
 * `ExternalAttachment` objects can be inserted anywhere in an event, similar to
 * `Attachment` objects, but they reference files that already exist in an external
 * object store rather than requiring upload. The SDK will replace the `ExternalAttachment`
 * object with an `AttachmentReference` during logging.
 */
declare class ExternalAttachment extends BaseAttachment {
    /**
     * The object that replaces this `ExternalAttachment` at upload time.
     */
    readonly reference: ExternalAttachmentReferenceType;
    private readonly _data;
    private readonly state?;
    /**
     * Construct an external attachment.
     *
     * @param param A parameter object with:
     *
     * `url`: The fully qualified URL of the file in the external object store.
     *
     * `filename`: The desired name of the file in Braintrust after uploading.
     * This parameter is for visualization purposes only and has no effect on
     * attachment storage.
     *
     * `contentType`: The MIME type of the file.
     *
     * `state`: (Optional) For internal use.
     */
    constructor({ url, filename, contentType, state }: ExternalAttachmentParams);
    /**
     * For ExternalAttachment, this is a no-op since the data already resides
     * in the external object store. It marks the attachment as already uploaded.
     *
     * @returns The attachment status, which will always indicate success.
     */
    upload(): Promise<{
        upload_status: "done";
    }>;
    /**
     * The attachment contents. This is a lazy value that will read the attachment contents from the external object store on first access.
     */
    data(): Promise<Blob>;
    /**
     * A human-readable description for logging and debugging.
     *
     * @returns The debug object. The return type is not stable and may change in
     * a future release.
     */
    debugInfo(): Record<string, unknown>;
    private initData;
}
declare const attachmentMetadataSchema: z.ZodObject<{
    downloadUrl: z.ZodString;
    status: z.ZodObject<{
        upload_status: z.ZodEnum<["uploading", "done", "error"]>;
        error_message: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        upload_status: "uploading" | "done" | "error";
        error_message?: string | undefined;
    }, {
        upload_status: "uploading" | "done" | "error";
        error_message?: string | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    status: {
        upload_status: "uploading" | "done" | "error";
        error_message?: string | undefined;
    };
    downloadUrl: string;
}, {
    status: {
        upload_status: "uploading" | "done" | "error";
        error_message?: string | undefined;
    };
    downloadUrl: string;
}>;
type AttachmentMetadata = z.infer<typeof attachmentMetadataSchema>;
/**
 * A readonly alternative to `Attachment`, which can be used for fetching
 * already-uploaded Attachments.
 */
declare class ReadonlyAttachment {
    /**
     * Attachment metadata.
     */
    readonly reference: AttachmentReferenceType;
    private readonly _data;
    private readonly state?;
    /**
     * Construct a ReadonlyAttachment.
     *
     * @param reference The `AttachmentReference` that should be read by the
     * `ReadonlyAttachment` object.
     * @param state (Optional) For internal use.
     * @returns The new `ReadonlyAttachment` object.
     */
    constructor(reference: AttachmentReferenceType, state?: BraintrustState);
    /**
     * The attachment contents. This is a lazy value that will read the attachment
     * contents from the object store on first access.
     */
    data(): Promise<Blob>;
    /**
     * Returns the attachment contents as a base64-encoded URL that is suitable
     * for use in a prompt.
     *
     * @returns The attachment contents as a base64-encoded URL.
     */
    asBase64Url(): Promise<string>;
    /**
     * Fetch the attachment metadata, which includes a downloadUrl and a status.
     * This will re-fetch the status each time in case it changes over time.
     */
    metadata(): Promise<AttachmentMetadata>;
    /**
     * Fetch the attachment upload status. This will re-fetch the status each time
     * in case it changes over time.
     */
    status(): Promise<AttachmentStatusType>;
    private initDownloader;
}
/**
 * Represents a JSON object that should be stored as an attachment.
 *
 * `JSONAttachment` is a convenience function that creates an `Attachment`
 * from JSON data. It's particularly useful for large JSON objects that
 * would otherwise bloat the trace size.
 *
 * The JSON data is automatically serialized and stored as an attachment
 * with content type "application/json".
 */
declare class JSONAttachment extends Attachment {
    /**
     * Construct a JSONAttachment from a JSON-serializable object.
     *
     * @param data The JSON object to attach. Must be JSON-serializable.
     * @param options Additional options:
     * - `filename`: The filename for the attachment (defaults to "data.json")
     * - `pretty`: Whether to pretty-print the JSON (defaults to false)
     * - `state`: (Optional) For internal use.
     *
     * @example
     * ```typescript
     * const largeTranscript = [
     *   { role: "user", content: "..." },
     *   { role: "assistant", content: "..." },
     *   // ... many more messages
     * ];
     *
     * logger.log({
     *   input: {
     *     type: "chat",
     *     transcript: new JSONAttachment(largeTranscript, { filename: "transcript.json" })
     *   }
     * });
     * ```
     */
    constructor(data: unknown, options?: {
        filename?: string;
        pretty?: boolean;
        state?: BraintrustState;
    });
}
/**
 * Update a span using the output of `span.export()`. It is important that you only resume updating
 * to a span once the original span has been fully written and flushed, since otherwise updates to
 * the span may conflict with the original span.
 *
 * @param exported The output of `span.export()`.
 * @param event The event data to update the span with. See {@link Experiment.log} for a full list of valid fields.
 * @param state (optional) Login state to use. If not provided, the global state will be used.
 */
declare function updateSpan({ exported, state, ...event }: {
    exported: string;
} & Omit<Partial<ExperimentEvent>, "id" | "root_span_id" | "span_id"> & OptionalStateArg): void;
interface ParentSpanIds {
    spanId: string;
    rootSpanId: string;
}
interface MultiParentSpanIds {
    parentSpanIds: string[];
    rootSpanId: string;
}
declare function spanComponentsToObjectId({ components, state, }: {
    components: SpanComponentsV3;
    state?: BraintrustState;
}): Promise<string>;
declare const ERR_PERMALINK = "https://braintrust.dev/error-generating-link";
/**
 * Format a permalink to the Braintrust application for viewing the span
 * represented by the provided `slug`.
 *
 * Links can be generated at any time, but they will only become viewable after
 * the span and its root have been flushed to the server and ingested.
 *
 * If you have a `Span` object, use {@link Span.link} instead.
 *
 * @param slug The identifier generated from {@link Span.export}.
 * @param opts Optional arguments.
 * @param opts.state The login state to use. If not provided, the global state will be used.
 * @param opts.orgName The org name to use. If not provided, the org name will be inferred from the state.
 * @param opts.appUrl The app URL to use. If not provided, the app URL will be inferred from the state.
 * @returns A permalink to the exported span.
 */
declare function permalink(slug: string, opts?: {
    state?: BraintrustState;
    orgName?: string;
    appUrl?: string;
}): Promise<string>;
declare class Logger<IsAsyncFlush extends boolean> implements Exportable {
    private state;
    private lazyMetadata;
    private _asyncFlush;
    private computeMetadataArgs;
    private _linkArgs;
    private lastStartTime;
    private lazyId;
    private calledStartSpan;
    kind: "logger";
    constructor(state: BraintrustState, lazyMetadata: LazyValue<OrgProjectMetadata>, logOptions?: LogOptions<IsAsyncFlush>);
    get org_id(): Promise<string>;
    get project(): Promise<ObjectMetadata>;
    get id(): Promise<string>;
    get loggingState(): BraintrustState;
    private parentObjectType;
    /**
     * Log a single event. The event will be batched and uploaded behind the scenes if `logOptions.asyncFlush` is true.
     *
     * @param event The event to log.
     * @param event.input: (Optional) the arguments that uniquely define a user input (an arbitrary, JSON serializable object).
     * @param event.output: (Optional) the output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question.
     * @param event.expected: (Optional) the ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models.
     * @param event.error: (Optional) The error that occurred, if any. If you use tracing to run an experiment, errors are automatically logged when your code throws an exception.
     * @param event.scores: (Optional) a dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare logs.
     * @param event.metadata: (Optional) a dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
     * @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically: "start", "end".
     * @param event.id: (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
     * @param options Additional logging options
     * @param options.allowConcurrentWithSpans in rare cases where you need to log at the top level separately from spans on the logger elsewhere, set this to true.
     * @returns The `id` of the logged event.
     */
    log(event: Readonly<StartSpanEventArgs>, options?: {
        allowConcurrentWithSpans?: boolean;
    }): PromiseUnless<IsAsyncFlush, string>;
    /**
     * Create a new toplevel span underneath the logger. The name defaults to "root".
     *
     * See {@link Span.traced} for full details.
     */
    traced<R>(callback: (span: Span) => R, args?: StartSpanArgs & SetCurrentArg): PromiseUnless<IsAsyncFlush, R>;
    /**
     * Lower-level alternative to `traced`. This allows you to start a span yourself, and can be useful in situations
     * where you cannot use callbacks. However, spans started with `startSpan` will not be marked as the "current span",
     * so `currentSpan()` and `traced()` will be no-ops. If you want to mark a span as current, use `traced` instead.
     *
     * See {@link traced} for full details.
     */
    startSpan(args?: StartSpanArgs): Span;
    private startSpanImpl;
    /**
     * Log feedback to an event. Feedback is used to save feedback scores, set an expected value, or add a comment.
     *
     * @param event
     * @param event.id The id of the event to log feedback for. This is the `id` returned by `log` or accessible as the `id` field of a span.
     * @param event.scores (Optional) a dictionary of numeric values (between 0 and 1) to log. These scores will be merged into the existing scores for the event.
     * @param event.expected (Optional) the ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not.
     * @param event.comment (Optional) an optional comment string to log about the event.
     * @param event.metadata (Optional) a dictionary with additional data about the feedback. If you have a `user_id`, you can log it here and access it in the Braintrust UI. Note, this metadata does not correspond to the main event itself, but rather the audit log attached to the event.
     * @param event.source (Optional) the source of the feedback. Must be one of "external" (default), "app", or "api".
     */
    logFeedback(event: LogFeedbackFullArgs): void;
    /**
     * Update a span in the experiment using its id. It is important that you only update a span once the original span has been fully written and flushed,
     * since otherwise updates to the span may conflict with the original span.
     *
     * @param event The event data to update the span with. Must include `id`. See {@link Experiment.log} for a full list of valid fields.
     */
    updateSpan(event: Omit<Partial<ExperimentEvent>, "id"> & Required<Pick<ExperimentEvent, "id">>): void;
    /**
     * Return a serialized representation of the logger that can be used to start subspans in other places.
     *
     * See {@link Span.startSpan} for more details.
     */
    export(): Promise<string>;
    flush(): Promise<void>;
    get asyncFlush(): IsAsyncFlush | undefined;
    /**
     * Return the base URL for links (e.g. https://braintrust.dev/app/my-org-name)
     * if we have the info, otherwise return null.
     * Resolution order: state -> linkArgs -> env var
     */
    _getLinkBaseUrl(): string | null;
}
declare const logs3OverflowUploadSchema: z.ZodObject<{
    method: z.ZodEnum<["PUT", "POST"]>;
    signedUrl: z.ZodString;
    headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    key: z.ZodString;
}, "strip", z.ZodTypeAny, {
    key: string;
    method: "POST" | "PUT";
    signedUrl: string;
    fields?: Record<string, string> | undefined;
    headers?: Record<string, string> | undefined;
}, {
    key: string;
    method: "POST" | "PUT";
    signedUrl: string;
    fields?: Record<string, string> | undefined;
    headers?: Record<string, string> | undefined;
}>;
type Logs3OverflowUpload = z.infer<typeof logs3OverflowUploadSchema>;
type Logs3OverflowInputRow = {
    object_ids: Record<string, unknown>;
    is_delete?: boolean;
    input_row: {
        byte_size: number;
    };
};
declare function constructLogs3OverflowRequest(key: string): {
    rows: {
        type: string;
        key: string;
    };
    api_version: number;
};
declare function pickLogs3OverflowObjectIds(row: Record<string, unknown>): Record<string, unknown>;
/**
 * Upload a logs3 overflow payload to the signed URL.
 * This is a standalone function that can be used by both SDK and app code.
 *
 * @param upload - The overflow upload metadata from the API
 * @param payload - The JSON payload string to upload
 * @param fetchFn - Optional custom fetch function (defaults to global fetch)
 */
declare function uploadLogs3OverflowPayload(upload: Logs3OverflowUpload, payload: string, fetchFn?: typeof fetch): Promise<void>;
declare function utf8ByteLength(value: string): number;
interface BackgroundLoggerOpts {
    noExitFlush?: boolean;
    onFlushError?: (error: unknown) => void;
}
interface BackgroundLogger {
    log(items: LazyValue<BackgroundLogEvent>[]): void;
    flush(): Promise<void>;
    pendingFlushBytes(): number;
    flushBackpressureBytes(): number;
    setMaskingFunction(maskingFunction: ((value: unknown) => unknown) | null): void;
}
declare class TestBackgroundLogger implements BackgroundLogger {
    private items;
    private maskingFunction;
    log(items: LazyValue<BackgroundLogEvent>[]): void;
    setMaskingFunction(maskingFunction: ((value: unknown) => unknown) | null): void;
    flush(): Promise<void>;
    pendingFlushBytes(): number;
    flushBackpressureBytes(): number;
    drain(): Promise<BackgroundLogEvent[]>;
}
declare class HTTPBackgroundLogger implements BackgroundLogger {
    private apiConn;
    private queue;
    private activeFlush;
    private activeFlushResolved;
    private activeFlushError;
    private onFlushError?;
    private maskingFunction;
    syncFlush: boolean;
    private maxRequestSizeOverride;
    private _maxRequestSizePromise;
    defaultBatchSize: number;
    numTries: number;
    queueDropExceedingMaxsize: number;
    queueDropLoggingPeriod: number;
    failedPublishPayloadsDir: string | undefined;
    allPublishPayloadsDir: string | undefined;
    private _flushBackpressureBytes;
    private _pendingBytes;
    private _disabled;
    private queueDropLoggingState;
    constructor(apiConn: LazyValue<HTTPConnection>, opts?: BackgroundLoggerOpts);
    setMaskingFunction(maskingFunction: ((value: unknown) => unknown) | null): void;
    pendingFlushBytes(): number;
    flushBackpressureBytes(): number;
    log(items: LazyValue<BackgroundLogEvent>[]): void;
    private getMaxRequestSize;
    flush(): Promise<void>;
    private flushOnce;
    private flushWrappedItemsChunk;
    private unwrapLazyValues;
    private requestLogs3OverflowUpload;
    private _uploadLogs3OverflowPayload;
    private submitLogsRequest;
    private registerDroppedItemCount;
    private dumpDroppedEvents;
    private static writePayloadToDir;
    private triggerActiveFlush;
    private logFailedPayloadsDir;
    internalReplaceApiConn(apiConn: HTTPConnection): void;
    disable(): void;
    enforceQueueSizeLimit(enforce: boolean): void;
}
type InitOpenOption<IsOpen extends boolean> = {
    open?: IsOpen;
};
/**
 * Reference to a dataset by ID and optional explicit selector.
 */
type DatasetSelection = {
    version?: string;
    environment?: string;
    snapshotName?: string;
};
type DatasetSnapshotNameLookup = {
    snapshotName: string;
    xactId?: never;
};
type DatasetSnapshotXactLookup = {
    snapshotName?: never;
    xactId: string;
};
type DatasetSnapshotLookup = DatasetSnapshotNameLookup | DatasetSnapshotXactLookup;
type DatasetPinState = {
    lazyPinnedVersion?: LazyValue<string | undefined>;
    pinnedEnvironment?: string;
    pinnedSnapshotName?: string;
};
type DatasetRef = {
    id: string;
} & DatasetSelection;
interface ParametersRef {
    id: string;
    version?: string;
}
type InitOptions<IsOpen extends boolean> = FullLoginOptions & {
    experiment?: string;
    description?: string;
    dataset?: AnyDataset | DatasetRef;
    _internal_btql?: Record<string, unknown>;
    parameters?: ParametersRef | RemoteEvalParameters<boolean, boolean>;
    update?: boolean;
    baseExperiment?: string;
    isPublic?: boolean;
    metadata?: Record<string, unknown>;
    tags?: string[];
    gitMetadataSettings?: GitMetadataSettingsType;
    projectId?: string;
    baseExperimentId?: string;
    repoInfo?: RepoInfoType;
    setCurrent?: boolean;
    state?: BraintrustState;
} & InitOpenOption<IsOpen>;
type FullInitOptions<IsOpen extends boolean> = {
    project?: string;
} & InitOptions<IsOpen>;
type InitializedExperiment<IsOpen extends boolean | undefined> = IsOpen extends true ? ReadonlyExperiment : Experiment;
/**
 * Log in, and then initialize a new experiment in a specified project. If the project does not exist, it will be created.
 *
 * @param options Options for configuring init().
 * @param options.project The name of the project to create the experiment in. Must specify at least one of `project` or `projectId`.
 * @param options.experiment The name of the experiment to create. If not specified, a name will be generated automatically.
 * @param options.description An optional description of the experiment.
 * @param options.dataset (Optional) A dataset to associate with the experiment. You can pass in the name of the dataset (in the same project) or a dataset object (from any project).
 * @param options.update If the experiment already exists, continue logging to it. If it does not exist, creates the experiment with the specified arguments.
 * @param options.baseExperiment An optional experiment name to use as a base. If specified, the new experiment will be summarized and compared to this experiment. Otherwise, it will pick an experiment by finding the closest ancestor on the default (e.g. main) branch.
 * @param options.isPublic An optional parameter to control whether the experiment is publicly visible to anybody with the link or privately visible to only members of the organization. Defaults to private.
 * @param options.appUrl The URL of the Braintrust App. Defaults to https://www.braintrust.dev.
 * @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. In Node.js, if that is unset, will try the nearest `.env.braintrust` file in the current working directory or parent directories. If no API key is specified, will prompt the user to login.
 * @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
 * @param options.metadata (Optional) A dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
 * @param options.gitMetadataSettings (Optional) Settings for collecting git metadata. By default, Braintrust collects the git metadata fields allowed by your organization's git metadata settings. If those settings are absent, git metadata is not collected unless this option is set.
 * @param setCurrent If true (the default), set the global current-experiment to the newly-created one.
 * @param options.open If the experiment already exists, open it in read-only mode. Throws an error if the experiment does not already exist.
 * @param options.projectId The id of the project to create the experiment in. This takes precedence over `project` if specified.
 * @param options.baseExperimentId An optional experiment id to use as a base. If specified, the new experiment will be summarized and compared to this. This takes precedence over `baseExperiment` if specified.
 * @param options.repoInfo (Optional) Explicitly specify the git metadata for this experiment. This takes precedence over `gitMetadataSettings` if specified.
 * @param options.tags (Optional) A list of tags to attach to the experiment.
 * @returns The newly created Experiment.
 */
declare function init<IsOpen extends boolean = false>(options: Readonly<FullInitOptions<IsOpen>>): InitializedExperiment<IsOpen>;
/**
 * Legacy form of `init` which accepts the project name as the first parameter,
 * separately from the remaining options. See `init(options)` for full details.
 */
declare function init<IsOpen extends boolean = false>(project: string, options?: Readonly<InitOptions<IsOpen>>): InitializedExperiment<IsOpen>;
/**
 * Alias for init(options).
 */
declare function initExperiment<IsOpen extends boolean = false>(options: Readonly<InitOptions<IsOpen>>): InitializedExperiment<IsOpen>;
/**
 * Alias for init(project, options).
 */
declare function initExperiment<IsOpen extends boolean = false>(project: string, options?: Readonly<InitOptions<IsOpen>>): InitializedExperiment<IsOpen>;
/**
 * @deprecated Use {@link init} instead.
 */
declare function withExperiment<R>(project: string, callback: (experiment: Experiment) => R, options?: Readonly<InitOptions<false> & SetCurrentArg>): R;
/**
 * @deprecated Use {@link initLogger} instead.
 */
declare function withLogger<IsAsyncFlush extends boolean = false, R = void>(callback: (logger: Logger<IsAsyncFlush>) => R, options?: Readonly<InitLoggerOptions<IsAsyncFlush> & SetCurrentArg>): R;
type UseOutputOption<IsLegacyDataset extends boolean> = {
    useOutput?: IsLegacyDataset;
};
type InitDatasetOptions<IsLegacyDataset extends boolean> = FullLoginOptions & {
    dataset?: string;
    description?: string;
    version?: string;
    environment?: string;
    snapshotName?: string;
    projectId?: string;
    metadata?: Record<string, unknown>;
    state?: BraintrustState;
    _internal_btql?: Record<string, unknown>;
} & UseOutputOption<IsLegacyDataset>;
type FullInitDatasetOptions<IsLegacyDataset extends boolean> = {
    project?: string;
} & InitDatasetOptions<IsLegacyDataset>;
/**
 * Create a new dataset in a specified project. If the project does not exist, it will be created.
 *
 * @param options Options for configuring initDataset().
 * @param options.project The name of the project to create the dataset in. Must specify at least one of `project` or `projectId`.
 * @param options.dataset The name of the dataset to create. If not specified, a name will be generated automatically.
 * @param options.description An optional description of the dataset.
 * @param options.version Pin the dataset to a specific version xact_id. If `snapshotName` or `environment` are also provided, `version` takes precedence.
 * @param options.snapshotName Pin the dataset to the version captured by this named snapshot. If `environment` is also provided, `snapshotName` takes precedence.
 * @param options.environment Pin the dataset to the version tagged with this environment slug.
 * @param options.appUrl The URL of the Braintrust App. Defaults to https://www.braintrust.dev.
 * @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. In Node.js, if that is unset, will try the nearest `.env.braintrust` file in the current working directory or parent directories. If no API key is specified, will prompt the user to login.
 * @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
 * @param options.projectId The id of the project to create the dataset in. This takes precedence over `project` if specified.
 * @param options.metadata A dictionary with additional data about the dataset. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
 * @param options.useOutput (Deprecated) If true, records will be fetched from this dataset in the legacy format, with the "expected" field renamed to "output". This option will be removed in a future version of Braintrust.
 * @returns The newly created Dataset.
 */
declare function initDataset<IsLegacyDataset extends boolean = typeof DEFAULT_IS_LEGACY_DATASET>(options: Readonly<FullInitDatasetOptions<IsLegacyDataset>>): Dataset<IsLegacyDataset>;
/**
 * Legacy form of `initDataset` which accepts the project name as the first
 * parameter, separately from the remaining options.
 *
 * See `initDataset(options)` for full details.
 */
declare function initDataset<IsLegacyDataset extends boolean = typeof DEFAULT_IS_LEGACY_DATASET>(project: string, options?: Readonly<InitDatasetOptions<IsLegacyDataset>>): Dataset<IsLegacyDataset>;
/**
 * @deprecated Use {@link initDataset} instead.
 */
declare function withDataset<R, IsLegacyDataset extends boolean = typeof DEFAULT_IS_LEGACY_DATASET>(project: string, callback: (dataset: Dataset<IsLegacyDataset>) => R, options?: Readonly<InitDatasetOptions<IsLegacyDataset>>): R;
type AsyncFlushArg<IsAsyncFlush> = {
    asyncFlush?: IsAsyncFlush;
};
type InitLoggerOptions<IsAsyncFlush> = FullLoginOptions & {
    projectName?: string;
    projectId?: string;
    setCurrent?: boolean;
    state?: BraintrustState;
    orgProjectMetadata?: OrgProjectMetadata;
} & AsyncFlushArg<IsAsyncFlush>;
/**
 * Create a new logger in a specified project. If the project does not exist, it will be created.
 *
 * @param options Additional options for configuring init().
 * @param options.projectName The name of the project to log into. If unspecified, will default to the Global project.
 * @param options.projectId The id of the project to log into. This takes precedence over projectName if specified.
 * @param options.asyncFlush If true, will log asynchronously in the background. Otherwise, will log synchronously. (true by default)
 * @param options.appUrl The URL of the Braintrust App. Defaults to https://www.braintrust.dev.
 * @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. In Node.js,
 * if that is unset, will try the nearest `.env.braintrust` file in the current working directory or parent directories. If no API key is specified, will prompt the user to login.
 * @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
 * @param options.forceLogin Login again, even if you have already logged in (by default, the logger will not login if you are already logged in)
 * @param options.debugLogLevel Enables internal Braintrust SDK troubleshooting output. Use `"error"`, `"warn"`, `"info"`, or `"debug"` to choose an explicit level, or `false` to explicitly disable it. If omitted, the SDK stays silent unless `BRAINTRUST_DEBUG_LOG_LEVEL` is set.
 * @param setCurrent If true (the default), set the global current-experiment to the newly-created one.
 * @returns The newly created Logger.
 */
declare function initLogger<IsAsyncFlush extends boolean = true>(options?: Readonly<InitLoggerOptions<IsAsyncFlush>>): Logger<IsAsyncFlush>;
type LoadPromptOptions = FullLoginOptions & {
    projectName?: string;
    projectId?: string;
    slug?: string;
    version?: string;
    id?: string;
    defaults?: DefaultPromptArgs;
    noTrace?: boolean;
    environment?: string;
    state?: BraintrustState;
};
type LoadParametersBaseOptions = FullLoginOptions & {
    state?: BraintrustState;
};
type LoadParametersByIdOptions = LoadParametersBaseOptions & {
    id: string;
    version?: string;
};
type LoadParametersByIdWithEnvOptions = LoadParametersBaseOptions & {
    id: string;
    environment: string;
    version?: string;
};
type LoadParametersByProjectNameOptions = LoadParametersBaseOptions & {
    projectName: string;
    slug: string;
    version?: string;
};
type LoadParametersByProjectNameWithEnvOptions = LoadParametersBaseOptions & {
    projectName: string;
    slug: string;
    environment: string;
    version?: string;
};
type LoadParametersByProjectIdOptions = LoadParametersBaseOptions & {
    projectId: string;
    slug: string;
    version?: string;
};
type LoadParametersByProjectIdWithEnvOptions = LoadParametersBaseOptions & {
    projectId: string;
    slug: string;
    environment: string;
    version?: string;
};
/**
 * Load a prompt from the specified project.
 *
 * @param options Options for configuring loadPrompt().
 * @param options.projectName The name of the project to load the prompt from. Must specify at least one of `projectName` or `projectId`.
 * @param options.projectId The id of the project to load the prompt from. This takes precedence over `projectName` if specified.
 * @param options.slug The slug of the prompt to load.
 * @param options.version An optional version of the prompt (to read). If not specified, the latest version will be used.
 * @param options.environment Fetch the version of the prompt assigned to the specified environment (e.g. "production", "staging"). If both `version` and `environment` are provided, `version` takes precedence.
 * @param options.id The id of a specific prompt to load. If specified, this takes precedence over all other parameters (project and slug).
 * @param options.defaults (Optional) A dictionary of default values to use when rendering the prompt. Prompt values will override these defaults.
 * @param options.noTrace If true, do not include logging metadata for this prompt when build() is called.
 * @param options.appUrl The URL of the Braintrust App. Defaults to https://www.braintrust.dev.
 * @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. In Node.js,
 * if that is unset, will try the nearest `.env.braintrust` file in the current working directory or parent directories. If no API key is specified, will prompt the user to login.
 * @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
 * @returns The prompt object.
 * @throws If the prompt is not found.
 * @throws If multiple prompts are found with the same slug in the same project (this should never happen).
 *
 * @example
 * ```javascript
 * const prompt = await loadPrompt({
 *  projectName: "My Project",
 *  slug: "my-prompt",
 * });
 * ```
 */
declare function loadPrompt({ projectName, projectId, slug, version, environment, id, defaults, noTrace, appUrl, apiKey, orgName, fetch, forceLogin, state: stateArg, }: LoadPromptOptions): Promise<Prompt<true, true>>;
/**
 * Load parameters from the specified project.
 *
 * @param options Options for configuring loadParameters().
 * @param options.projectName The name of the project to load the parameters from. Must specify at least one of `projectName` or `projectId`.
 * @param options.projectId The id of the project to load the parameters from. This takes precedence over `projectName` if specified.
 * @param options.slug The slug of the parameters to load.
 * @param options.version An optional version of the parameters (to read). If not specified, the latest version will be used.
 * @param options.environment Fetch the version of the parameters assigned to the specified environment (e.g. "production", "staging"). If both `version` and `environment` are provided, `version` takes precedence.
 * @param options.id The id of specific parameters to load. If specified, this takes precedence over all other parameters (project and slug).
 * @param options.appUrl The URL of the Braintrust App. Defaults to https://www.braintrust.dev.
 * @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. In Node.js, if that is unset, will try the nearest `.env.braintrust` file in the current working directory or parent directories.
 * @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
 * @returns The parameters object.
 * @throws If the parameters are not found.
 * @throws If multiple parameters are found with the same slug in the same project (this should never happen).
 *
 * @example
 * ```typescript
 * const params = await loadParameters({
 *  projectName: "My Project",
 *  slug: "my-parameters",
 * });
 * ```
 */
declare function loadParameters<S extends EvalParameters = EvalParameters>(options: LoadParametersByProjectNameOptions): Promise<RemoteEvalParameters<true, true, InferParameters<S>>>;
declare function loadParameters<S extends EvalParameters = EvalParameters>(options: LoadParametersByProjectNameWithEnvOptions): Promise<RemoteEvalParameters<true, true, InferParameters<S>>>;
declare function loadParameters<S extends EvalParameters = EvalParameters>(options: LoadParametersByProjectIdOptions): Promise<RemoteEvalParameters<true, true, InferParameters<S>>>;
declare function loadParameters<S extends EvalParameters = EvalParameters>(options: LoadParametersByProjectIdWithEnvOptions): Promise<RemoteEvalParameters<true, true, InferParameters<S>>>;
declare function loadParameters<S extends EvalParameters = EvalParameters>(options: LoadParametersByIdOptions): Promise<RemoteEvalParameters<true, true, InferParameters<S>>>;
declare function loadParameters<S extends EvalParameters = EvalParameters>(options: LoadParametersByIdWithEnvOptions): Promise<RemoteEvalParameters<true, true, InferParameters<S>>>;
/**
 * Options for logging in to Braintrust.
 */
interface LoginOptions {
    /**
     * The URL of the Braintrust App. Defaults to https://www.braintrust.dev. You should not need
     * to change this unless you are doing the "Full" deployment.
     */
    appUrl?: string;
    /**
     * The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. In Node.js, if that is unset, will try the nearest `.env.braintrust` file in the current working directory or parent directories.
     */
    apiKey?: string;
    /**
     * The name of a specific organization to connect to. Since API keys are scoped to organizations, this parameter is usually
     * unnecessary unless you are logging in with a JWT.
     */
    orgName?: string;
    /**
     * A custom fetch implementation to use.
     */
    fetch?: typeof globalThis.fetch;
    /**
     * By default, the SDK installs an event handler that flushes pending writes on the `beforeExit` event.
     * If true, this event handler will _not_ be installed.
     */
    noExitFlush?: boolean;
    /**
     * Calls this function if there's an error in the background flusher.
     */
    onFlushError?: (error: unknown) => void;
    /**
     * If true, disables the local span cache used to optimize scorer access
     * to trace data. When disabled, scorers will always fetch spans from the
     * server. Defaults to false.
     */
    disableSpanCache?: boolean;
    /**
     * Controls internal Braintrust SDK troubleshooting output.
     *
     * Use `"error"`, `"warn"`, `"info"`, or `"debug"` to control how much
     * internal SDK troubleshooting output is emitted. Use `false` to explicitly
     * disable this output.
     *
     * When omitted, the SDK remains silent unless
     * `BRAINTRUST_DEBUG_LOG_LEVEL` is set to `"error"`, `"warn"`, `"info"`, or
     * `"debug"`. This option only affects local console output; it does not
     * change what data is logged to Braintrust.
     */
    debugLogLevel?: DebugLogLevel | false;
}
type FullLoginOptions = LoginOptions & {
    forceLogin?: boolean;
};
/**
 * Set a global masking function that will be applied to all logged data before sending to Braintrust.
 * The masking function will be applied after records are merged but before they are sent to the backend.
 *
 * @param maskingFunction A function that takes a JSON-serializable object and returns a masked version.
 *                        Set to null to disable masking.
 */
declare function setMaskingFunction(maskingFunction: ((value: unknown) => unknown) | null): void;
/**
 * Log into Braintrust. This will prompt you for your API token, which you can find at
 * https://www.braintrust.dev/app/token. This method is called automatically by `init()`.
 *
 * @param options Options for configuring login().
 * @param options.appUrl The URL of the Braintrust App. Defaults to https://www.braintrust.dev.
 * @param options.apiKey The API key to use. If the parameter is not specified, will try to use the `BRAINTRUST_API_KEY` environment variable. In Node.js,
 * if that is unset, will try the nearest `.env.braintrust` file in the current working directory or parent directories. If no API key is specified, will prompt the user to login.
 * @param options.orgName (Optional) The name of a specific organization to connect to. This is useful if you belong to multiple.
 * @param options.forceLogin Login again, even if you have already logged in (by default, this function will exit quickly if you have already logged in)
 */
declare function login(options?: LoginOptions & {
    forceLogin?: boolean;
}): Promise<BraintrustState>;
declare function loginToState(options?: LoginOptions): Promise<BraintrustState>;
/**
 * Log a single event to the current experiment. The event will be batched and uploaded behind the scenes.
 *
 * @param event The event to log. See {@link Experiment.log} for full details.
 * @returns The `id` of the logged event.
 */
declare function log(event: ExperimentLogFullArgs): string;
/**
 * Summarize the current experiment, including the scores (compared to the closest reference experiment) and metadata.
 *
 * @param options Options for summarizing the experiment.
 * @param options.summarizeScores Whether to summarize the scores. If False, only the metadata will be returned.
 * @param options.comparisonExperimentId The experiment to compare against. If None, the most recent experiment on the origin's main branch will be used.
 * @returns A summary of the experiment, including the scores (compared to the closest reference experiment) and metadata.
 */
declare function summarize(options?: {
    readonly summarizeScores?: boolean;
    readonly comparisonExperimentId?: string;
}): Promise<ExperimentSummary>;
type OptionalStateArg = {
    state?: BraintrustState;
};
/**
 * Returns the currently-active experiment (set by {@link init}). Returns undefined if no current experiment has been set.
 */
declare function currentExperiment(options?: OptionalStateArg): Experiment | undefined;
/**
 * Returns the currently-active logger (set by {@link initLogger}). Returns undefined if no current logger has been set.
 */
declare function currentLogger<IsAsyncFlush extends boolean>(options?: AsyncFlushArg<IsAsyncFlush> & OptionalStateArg): Logger<IsAsyncFlush> | undefined;
/**
 * Return the currently-active span for logging (set by one of the `traced` methods). If there is no active span, returns a no-op span object, which supports the same interface as spans but does no logging.
 *
 * See {@link Span} for full details.
 */
declare function currentSpan(options?: OptionalStateArg): Span;
/**
 * Mainly for internal use. Return the parent object for starting a span in a global context.
 * Applies precedence: current span > propagated parent string > experiment > logger.
 */
declare function getSpanParentObject<IsAsyncFlush extends boolean>(options?: AsyncFlushArg<IsAsyncFlush> & OptionalStateArg & {
    parent?: string;
}): SpanComponentsV3 | SpanComponentsV4 | Span | Experiment | Logger<IsAsyncFlush>;
declare function logError(span: Span, error: unknown): void;
/**
 * Toplevel function for starting a span. It checks the following (in precedence order):
 *  * Currently-active span
 *  * Currently-active experiment
 *  * Currently-active logger
 *
 * and creates a span under the first one that is active. Alternatively, if `parent` is specified, it creates a span under the specified parent row. If none of these are active, it returns a no-op span object.
 *
 * See {@link Span.traced} for full details.
 */
declare function traced<IsAsyncFlush extends boolean = true, R = void>(callback: (span: Span) => R, args?: StartSpanArgs & SetCurrentArg & AsyncFlushArg<IsAsyncFlush> & OptionalStateArg): PromiseUnless<IsAsyncFlush, R>;
/**
 * Check if a function is a sync generator function.
 *
 * Note: This uses Object.prototype.toString which is sufficient for environments that
 * support generator functions (ES6+). While our code is compiled to ES2022, consumers
 * may run it in various environments. However, if generators aren't supported in their
 * environment, the generator functions themselves won't work anyway, making detection moot.
 *
 * @param fn The function to check.
 * @returns True if the function is a sync generator function.
 */
declare function isGeneratorFunction(fn: any): boolean;
/**
 * Check if a function is an async generator function.
 *
 * Note: see isGeneratorFunction disclaimer
 * @param fn The function to check.
 * @returns True if the function is an async generator function.
 */
declare function isAsyncGeneratorFunction(fn: any): boolean;
type WrapTracedArgs = {
    noTraceIO?: boolean;
};
/**
 * Wrap a function with `traced`, using the arguments as `input` and return value as `output`.
 * Any functions wrapped this way will automatically be traced, similar to the `@traced` decorator
 * in Python. If you want to correctly propagate the function's name and define it in one go, then
 * you can do so like this:
 *
 * ```ts
 * const myFunc = wrapTraced(async function myFunc(input) {
 *  const result = await client.chat.completions.create({
 *    model: "gpt-3.5-turbo",
 *    messages: [{ role: "user", content: input }],
 *  });
 *  return result.choices[0].message.content ?? "unknown";
 * },
 * // Optional: if you're using a framework like NextJS that minifies your code, specify the function name and it will be used for the span name
 * { name: "myFunc" },
 * );
 * ```
 * Now, any calls to `myFunc` will be traced, and the input and output will be logged automatically.
 * If tracing is inactive, i.e. there is no active logger or experiment, it's just a no-op.
 *
 * @param fn The function to wrap.
 * @param args Span-level arguments (e.g. a custom name or type) to pass to `traced`.
 * @returns The wrapped function.
 */
declare function wrapTraced<F extends (...args: any[]) => any, IsAsyncFlush extends boolean = true>(fn: F, args?: StartSpanArgs & SetCurrentArg & AsyncFlushArg<IsAsyncFlush> & WrapTracedArgs): IsAsyncFlush extends false ? (...args: Parameters<F>) => Promise<Awaited<ReturnType<F>>> : F;
/**
 * A synonym for `wrapTraced`. If you're porting from systems that use `traceable`, you can use this to
 * make your codebase more consistent.
 */
declare const traceable: typeof wrapTraced;
/**
 * Lower-level alternative to `traced`. This allows you to start a span yourself, and can be useful in situations
 * where you cannot use callbacks. However, spans started with `startSpan` will not be marked as the "current span",
 * so `currentSpan()` and `traced()` will be no-ops. If you want to mark a span as current, use `traced` instead.
 *
 * See {@link traced} for full details.
 */
declare function startSpan<IsAsyncFlush extends boolean = true>(args?: StartSpanArgs & AsyncFlushArg<IsAsyncFlush> & OptionalStateArg): Span;
/**
 * Flush any pending rows to the server.
 */
declare function flush(options?: OptionalStateArg): Promise<void>;
/**
 * Set the fetch implementation to use for requests. You can specify it here,
 * or when you call `login`.
 *
 * @param fetch The fetch implementation to use.
 */
declare function setFetch(fetch: typeof globalThis.fetch): void;
/**
 * Runs the provided callback with the span as the current span.
 */
declare function withCurrent<R>(span: Span, callback: (span: Span) => R, state?: BraintrustState | undefined): R;
declare function withParent<R>(parent: string, callback: () => R, state?: BraintrustState | undefined): R;
declare function validateTags(tags: readonly string[]): void;
/**
 * Creates a deep copy of the given event. Replaces references to user objects
 * with placeholder strings to ensure serializability, except for
 * {@link Attachment} and {@link ExternalAttachment} objects, which are preserved
 * and not deep-copied.
 */
declare function deepCopyEvent<T extends Partial<BackgroundLogEvent>>(event: T): T;
/**
 * Helper function for uploading attachments. Recursively extracts `Attachment`
 * and `ExternalAttachment` objects and replaces them with their associated
 * `AttachmentReference` objects.
 *
 * @param event The event to filter. Will be modified in-place.
 * @param attachments Flat array of extracted attachments (output parameter).
 */
declare function extractAttachments(event: Record<string, any>, attachments: BaseAttachment[]): void;
type WithTransactionId<R> = R & {
    [TRANSACTION_ID_FIELD]: TransactionId;
};
declare const DEFAULT_FETCH_BATCH_SIZE = 1000;
declare class ObjectFetcher<RecordType> implements AsyncIterable<WithTransactionId<RecordType>> {
    private objectType;
    private pinnedVersion;
    private mutateRecord?;
    private _internal_btql?;
    private _fetchedData;
    constructor(objectType: "dataset" | "experiment" | "project_logs" | "playground_logs", pinnedVersion: string | undefined, mutateRecord?: ((r: any) => WithTransactionId<RecordType>) | undefined, _internal_btql?: Record<string, unknown> | undefined);
    get id(): Promise<string>;
    protected getState(): Promise<BraintrustState>;
    protected getPinnedVersion(): string | undefined;
    protected setPinnedVersion(pinnedVersion: string | undefined): void;
    protected getInternalBtql(): Record<string, unknown> | undefined;
    private fetchRecordsFromApi;
    /**
     * Fetch all records from the object.
     *
     * @param options Optional parameters for fetching.
     * @param options.batchSize The number of records to fetch per request. Defaults to 1000.
     * @returns An async generator of records.
     */
    fetch(options?: {
        batchSize?: number;
    }): AsyncGenerator<WithTransactionId<RecordType>>;
    [Symbol.asyncIterator](): AsyncIterator<WithTransactionId<RecordType>>;
    fetchedData(options?: {
        batchSize?: number;
    }): Promise<WithTransactionId<RecordType>[]>;
    clearCache(): void;
    version(options?: {
        batchSize?: number;
    }): Promise<string | undefined>;
}
type BaseMetadata = Record<string, unknown> | void;
type DefaultMetadataType = void;
type EvalCaseOrigin = ObjectReferenceType$1;
type EvalCase<Input, Expected, Metadata> = {
    input: Input;
    tags?: string[];
    id?: string;
    _xact_id?: TransactionId;
    created?: string | null;
    origin?: EvalCaseOrigin;
    upsert_id?: string;
    trialCount?: number;
} & (Expected extends void ? object : {
    expected: Expected;
}) & (Metadata extends void ? object : {
    metadata: Metadata;
});
/**
 * An experiment is a collection of logged events, such as model inputs and outputs, which represent
 * a snapshot of your application at a particular point in time. An experiment is meant to capture more
 * than just the model you use, and includes the data you use to test, pre- and post- processing code,
 * comparison metrics (scores), and any other metadata you want to include.
 *
 * Experiments are associated with a project, and two experiments are meant to be easily comparable via
 * their `inputs`. You can change the attributes of the experiments in a project (e.g. scoring functions)
 * over time, simply by changing what you log.
 *
 * You should not create `Experiment` objects directly. Instead, use the `braintrust.init()` method.
 */
declare class Experiment extends ObjectFetcher<ExperimentEvent> implements Exportable {
    private readonly lazyMetadata;
    readonly dataset?: AnyDataset;
    private lastStartTime;
    private lazyId;
    private calledStartSpan;
    private state;
    kind: "experiment";
    constructor(state: BraintrustState, lazyMetadata: LazyValue<ProjectExperimentMetadata>, dataset?: AnyDataset);
    get id(): Promise<string>;
    get loggingState(): BraintrustState;
    /**
     * Wait for the experiment ID to be resolved. This is useful for ensuring the ID
     * is available synchronously in child spans (for OTEL parent attributes).
     * @internal
     */
    _waitForId(): Promise<void>;
    get name(): Promise<string>;
    get project(): Promise<ObjectMetadata>;
    _getBaseExperimentId(): Promise<string | undefined>;
    private parentObjectType;
    protected getState(): Promise<BraintrustState>;
    /**
     * Log a single event to the experiment. The event will be batched and uploaded behind the scenes.
     *
     * @param event The event to log.
     * @param event.input: The arguments that uniquely define a test case (an arbitrary, JSON serializable object). Later on, Braintrust will use the `input` to know whether two test cases are the same between experiments, so they should not contain experiment-specific state. A simple rule of thumb is that if you run the same experiment twice, the `input` should be identical.
     * @param event.output: The output of your application, including post-processing (an arbitrary, JSON serializable object), that allows you to determine whether the result is correct or not. For example, in an app that generates SQL queries, the `output` should be the _result_ of the SQL query generated by the model, not the query itself, because there may be multiple valid queries that answer a single question.
     * @param event.expected: (Optional) The ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not. Braintrust currently does not compare `output` to `expected` for you, since there are so many different ways to do that correctly. Instead, these values are just used to help you navigate your experiments while digging into analyses. However, we may later use these values to re-score outputs or fine-tune your models.
     * @param event.error: (Optional) The error that occurred, if any. If you use tracing to run an experiment, errors are automatically logged when your code throws an exception.
     * @param event.scores: A dictionary of numeric values (between 0 and 1) to log. The scores should give you a variety of signals that help you determine how accurate the outputs are compared to what you expect and diagnose failures. For example, a summarization app might have one score that tells you how accurate the summary is, and another that measures the word similarity between the generated and grouth truth summary. The word similarity score could help you determine whether the summarization was covering similar concepts or not. You can use these scores to help you sort, filter, and compare experiments.
     * @param event.metadata: (Optional) a dictionary with additional data about the test example, model outputs, or just about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any JSON-serializable type, but its keys must be strings.
     * @param event.metrics: (Optional) a dictionary of metrics to log. The following keys are populated automatically: "start", "end".
     * @param event.id: (Optional) a unique identifier for the event. If you don't provide one, BrainTrust will generate one for you.
     * @param event.dataset_record_id: (Optional) the id of the dataset record that this event is associated with. This field is required if and only if the experiment is associated with a dataset. This field is unused and will be removed in a future version.
     * @param options Additional logging options
     * @param options.allowConcurrentWithSpans in rare cases where you need to log at the top level separately from spans on the experiment elsewhere, set this to true.
     * @returns The `id` of the logged event.
     */
    log(event: Readonly<ExperimentLogFullArgs>, options?: {
        allowConcurrentWithSpans?: boolean;
    }): string;
    /**
     * Create a new toplevel span underneath the experiment. The name defaults to "root".
     *
     * See {@link Span.traced} for full details.
     */
    traced<R>(callback: (span: Span) => R, args?: StartSpanArgs & SetCurrentArg): R;
    /**
     * Lower-level alternative to `traced`. This allows you to start a span yourself, and can be useful in situations
     * where you cannot use callbacks. However, spans started with `startSpan` will not be marked as the "current span",
     * so `currentSpan()` and `traced()` will be no-ops. If you want to mark a span as current, use `traced` instead.
     *
     * See {@link traced} for full details.
     */
    startSpan(args?: StartSpanArgs): Span;
    private startSpanImpl;
    fetchBaseExperiment(): Promise<{
        id: any;
        name: any;
    } | null>;
    /**
     * Summarize the experiment, including the scores (compared to the closest reference experiment) and metadata.
     *
     * @param options Options for summarizing the experiment.
     * @param options.summarizeScores Whether to summarize the scores. If False, only the metadata will be returned.
     * @param options.comparisonExperimentId The experiment to compare against. If None, the most recent experiment on the origin's main branch will be used.
     * @returns A summary of the experiment, including the scores (compared to the closest reference experiment) and metadata.
     */
    summarize(options?: {
        readonly summarizeScores?: boolean;
        readonly comparisonExperimentId?: string;
    }): Promise<ExperimentSummary>;
    /**
     * Log feedback to an event in the experiment. Feedback is used to save feedback scores, set an expected value, or add a comment.
     *
     * @param event
     * @param event.id The id of the event to log feedback for. This is the `id` returned by `log` or accessible as the `id` field of a span.
     * @param event.scores (Optional) a dictionary of numeric values (between 0 and 1) to log. These scores will be merged into the existing scores for the event.
     * @param event.expected (Optional) the ground truth value (an arbitrary, JSON serializable object) that you'd compare to `output` to determine if your `output` value is correct or not.
     * @param event.comment (Optional) an optional comment string to log about the event.
     * @param event.metadata (Optional) a dictionary with additional data about the feedback. If you have a `user_id`, you can log it here and access it in the Braintrust UI. Note, this metadata does not correspond to the main event itself, but rather the audit log attached to the event.
     * @param event.source (Optional) the source of the feedback. Must be one of "external" (default), "app", or "api".
     */
    logFeedback(event: LogFeedbackFullArgs): void;
    /**
     * Update a span in the experiment using its id. It is important that you only update a span once the original span has been fully written and flushed,
     * since otherwise updates to the span may conflict with the original span.
     *
     * @param event The event data to update the span with. Must include `id`. See {@link Experiment.log} for a full list of valid fields.
     */
    updateSpan(event: Omit<Partial<ExperimentEvent>, "id"> & Required<Pick<ExperimentEvent, "id">>): void;
    /**
     * Return a serialized representation of the experiment that can be used to start subspans in other places.
     *
     * See {@link Span.startSpan} for more details.
     */
    export(): Promise<string>;
    /**
     * Flush any pending rows to the server.
     */
    flush(): Promise<void>;
    /**
     * @deprecated This function is deprecated. You can simply remove it from your code.
     */
    close(): Promise<string>;
}
/**
 * A read-only view of an experiment, initialized by passing `open: true` to `init()`.
 */
declare class ReadonlyExperiment extends ObjectFetcher<ExperimentEvent> {
    private state;
    private readonly lazyMetadata;
    constructor(state: BraintrustState, lazyMetadata: LazyValue<ProjectExperimentMetadata>);
    get id(): Promise<string>;
    get name(): Promise<string>;
    get loggingState(): BraintrustState;
    protected getState(): Promise<BraintrustState>;
    asDataset<Input, Expected, Metadata = DefaultMetadataType>(options?: {
        batchSize?: number;
    }): AsyncGenerator<EvalCase<Input, Expected, Metadata>>;
}
declare function newId(): string;
/**
 * Primary implementation of the `Span` interface. See {@link Span} for full details on each method.
 *
 * We suggest using one of the various `traced` methods, instead of creating Spans directly. See {@link Span.startSpan} for full details.
 */
declare class SpanImpl implements Span {
    private _state;
    private isMerge;
    private loggedEndTime;
    private propagatedEvent;
    private parentObjectType;
    private parentObjectId;
    private parentComputeObjectMetadataArgs;
    private _id;
    private _spanId;
    private _rootSpanId;
    private _spanParents;
    kind: "span";
    constructor(args: {
        state: BraintrustState;
        parentObjectType: SpanObjectTypeV3;
        parentObjectId: LazyValue<string>;
        parentComputeObjectMetadataArgs: Record<string, any> | undefined;
        parentSpanIds: ParentSpanIds | MultiParentSpanIds | undefined;
        defaultRootType?: SpanType;
        spanId?: string;
    } & Omit<StartSpanArgs, "parent">);
    getParentInfo(): {
        objectType: SpanObjectTypeV3;
        objectId: LazyValue<string>;
        computeObjectMetadataArgs: {
            [x: string]: any;
        } | undefined;
    };
    get id(): string;
    get spanId(): string;
    get rootSpanId(): string;
    get spanParents(): string[];
    setAttributes(args: Omit<StartSpanArgs, "event">): void;
    setSpanParents(parents: string[]): void;
    log(event: ExperimentLogPartialArgs): void;
    private logInternal;
    logFeedback(event: Omit<LogFeedbackFullArgs, "id">): void;
    traced<R>(callback: (span: Span) => R, args?: StartSpanArgs & SetCurrentArg): R;
    startSpan(args?: StartSpanArgs): Span;
    startSpanWithParents(spanId: string, spanParents: string[], args?: StartSpanArgs): Span;
    end(args?: EndSpanArgs): number;
    export(): Promise<string>;
    permalink(): Promise<string>;
    link(): string;
    _link(baseUrl: string): string;
    flush(): Promise<void>;
    close(args?: EndSpanArgs): number;
    state(): BraintrustState;
    toString(): string;
}
/**
 * A dataset is a collection of records, such as model inputs and expected outputs, which represent
 * data you can use to evaluate and fine-tune models. You can log production data to datasets,
 * curate them with interesting examples, edit/delete records, and run evaluations against them.
 *
 * You should not create `Dataset` objects directly. Instead, use the `braintrust.initDataset()` method.
 */
declare class Dataset<IsLegacyDataset extends boolean = typeof DEFAULT_IS_LEGACY_DATASET> extends ObjectFetcher<DatasetRecord<IsLegacyDataset>> {
    private state;
    private readonly lazyMetadata;
    private readonly __braintrust_dataset_marker;
    private newRecords;
    private lazyPinnedVersion?;
    private pinnedEnvironment?;
    private pinnedSnapshotName?;
    constructor(state: BraintrustState, lazyMetadata: LazyValue<ProjectDatasetMetadata>, pinnedVersion?: string, legacy?: IsLegacyDataset, _internal_btql?: Record<string, unknown>, pinState?: DatasetPinState);
    get id(): Promise<string>;
    get name(): Promise<string>;
    get project(): Promise<ObjectMetadata>;
    get loggingState(): BraintrustState;
    toEvalData(): Promise<{
        dataset_id: string;
        dataset_version?: string;
        dataset_environment?: string;
        dataset_snapshot_name?: string;
        _internal_btql?: Record<string, unknown>;
    }>;
    protected getState(): Promise<BraintrustState>;
    version(options?: {
        batchSize?: number;
    }): Promise<string | undefined>;
    private validateEvent;
    private createArgs;
    /**
     * Insert a single record to the dataset. The record will be batched and uploaded behind the scenes. If you pass in an `id`,
     * and a record with that `id` already exists, it will be overwritten (upsert).
     *
     * @param event The event to log.
     * @param event.input The argument that uniquely define an input case (an arbitrary, JSON serializable object).
     * @param event.expected The output of your application, including post-processing (an arbitrary, JSON serializable object).
     * @param event.tags (Optional) a list of strings that you can use to filter and group records later.
     * @param event.metadata (Optional) a dictionary with additional data about the test example, model outputs, or just
     * about anything else that's relevant, that you can use to help find and analyze examples later. For example, you could log the
     * `prompt`, example's `id`, or anything else that would be useful to slice/dice later. The values in `metadata` can be any
     * JSON-serializable type, but its keys must be strings.
     * @param event.origin (Optional) a reference to the source object this dataset record was derived from.
     * @param event.id (Optional) a unique identifier for the event. If you don't provide one, Braintrust will generate one for you.
     * @param event.output: (Deprecated) The output of your application. Use `expected` instead.
     * @returns The `id` of the logged record.
     */
    insert({ input, expected, metadata, tags, id, output, origin, }: {
        readonly input?: unknown;
        readonly expected?: unknown;
        readonly tags?: string[];
        readonly metadata?: Record<string, unknown>;
        readonly id?: string;
        readonly output?: unknown;
        readonly origin?: ObjectReferenceType$1;
    }): string;
    /**
     * Update fields of a single record in the dataset. The updated fields will be batched and uploaded behind the scenes.
     * You must pass in an `id` of the record to update. Only the fields provided will be updated; other fields will remain unchanged.
     *
     * @param event The fields to update in the record.
     * @param event.id The unique identifier of the record to update.
     * @param event.input (Optional) The new input value for the record (an arbitrary, JSON serializable object).
     * @param event.expected (Optional) The new expected output value for the record (an arbitrary, JSON serializable object).
     * @param event.tags (Optional) A list of strings to update the tags of the record.
     * @param event.metadata (Optional) A dictionary to update the metadata of the record. The values in `metadata` can be any
     * JSON-serializable type, but its keys must be strings.
     * @returns The `id` of the updated record.
     */
    update({ input, expected, metadata, tags, id, }: {
        readonly id: string;
        readonly input?: unknown;
        readonly expected?: unknown;
        readonly tags?: string[];
        readonly metadata?: Record<string, unknown>;
    }): string;
    delete(id: string): string;
    createSnapshot({ name, description, update, }: {
        readonly name: string;
        readonly description?: string;
        readonly update?: boolean;
    }): Promise<DatasetSnapshotType>;
    listSnapshots(): Promise<DatasetSnapshotType[]>;
    getSnapshot(lookup: DatasetSnapshotLookup): Promise<DatasetSnapshotType | undefined>;
    updateSnapshot(snapshotId: string, { name, description, }: {
        readonly name?: string;
        readonly description?: string | null;
    }): Promise<DatasetSnapshotType>;
    deleteSnapshot(snapshotId: string): Promise<DatasetSnapshotType>;
    restorePreview({ version, }: {
        readonly version: string;
    }): Promise<DatasetRestorePreviewResult>;
    restore({ version, }: {
        readonly version: string;
    }): Promise<DatasetRestoreResult>;
    /**
     * Summarize the dataset, including high level metrics about its size and other metadata.
     * @param summarizeData Whether to summarize the data. If false, only the metadata will be returned.
     * @returns `DatasetSummary`
     * @returns A summary of the dataset.
     */
    summarize(options?: {
        readonly summarizeData?: boolean;
    }): Promise<DatasetSummary>;
    /**
     * Flush any pending rows to the server.
     */
    flush(): Promise<void>;
    /**
     * @deprecated This function is deprecated. You can simply remove it from your code.
     */
    close(): Promise<string>;
    static isDataset(data: unknown): data is Dataset;
}
type CompiledPromptResponseFormat = Exclude<AnyModelParamsType["response_format"], null> extends infer ResponseFormat ? ResponseFormat extends {
    type: "json_schema";
    json_schema: infer JsonSchema;
} ? Omit<ResponseFormat, "json_schema"> & {
    json_schema: Omit<Extract<JsonSchema, ResponseFormatJsonSchemaType>, "schema"> & {
        schema?: Record<string, unknown>;
    };
} : ResponseFormat : never;
type CompiledPromptReasoningEffort = Exclude<AnyModelParamsType["reasoning_effort"], "none">;
type CompiledPromptParams = Omit<NonNullable<PromptDataType["options"]>["params"], "use_cache" | "response_format" | "reasoning_effort"> & Omit<AnyModelParamsType, "use_cache" | "response_format" | "reasoning_effort"> & {
    reasoning_effort?: CompiledPromptReasoningEffort;
    response_format?: CompiledPromptResponseFormat;
    model: NonNullable<NonNullable<PromptDataType["options"]>["model"]>;
};
type ChatPrompt = {
    messages: ChatCompletionOpenAIMessageParamType[];
    tools?: ChatCompletionToolType[];
};
type CompletionPrompt = {
    prompt: string;
};
type CompiledPrompt<Flavor extends "chat" | "completion"> = CompiledPromptParams & {
    span_info?: {
        name?: string;
        spanAttributes?: Record<any, any>;
        metadata: {
            prompt: {
                variables: Record<string, unknown>;
                id: string;
                project_id: string;
                version: string;
            };
        };
    };
} & (Flavor extends "chat" ? ChatPrompt : Flavor extends "completion" ? CompletionPrompt : {});
type DefaultPromptArgs = Partial<CompiledPromptParams & AnyModelParamsType & ChatPrompt & CompletionPrompt>;
declare function renderMessage<T extends ChatCompletionMessageParamType>(render: (template: string) => string, message: T): T;
type PromptRowWithId<HasId extends boolean = true, HasVersion extends boolean = true> = Omit<PromptType, "log_id" | "org_id" | "project_id" | "id" | "_xact_id"> & Partial<Pick<PromptType, "project_id">> & (HasId extends true ? Pick<PromptType, "id"> : Partial<Pick<PromptType, "id">>) & (HasVersion extends true ? Pick<PromptType, "_xact_id"> : Partial<Pick<PromptType, "_xact_id">>);
declare function deserializePlainStringAsJSON(s: string): {
    value: any;
    error: undefined;
} | {
    value: string;
    error: unknown;
};
declare function renderPromptParams(params: ModelParamsType | undefined, args: Record<string, unknown>, options?: {
    strict?: boolean;
    templateFormat?: TemplateFormat;
}): ModelParamsType | undefined;
declare class Prompt<HasId extends boolean = true, HasVersion extends boolean = true> {
    private metadata;
    private defaults;
    private noTrace;
    private parsedPromptData;
    private hasParsedPromptData;
    private readonly __braintrust_prompt_marker;
    constructor(metadata: PromptRowWithId<HasId, HasVersion> | PromptSessionEventType, defaults: DefaultPromptArgs, noTrace: boolean);
    get id(): HasId extends true ? string : string | undefined;
    get projectId(): string | undefined;
    get name(): string;
    get slug(): string;
    get prompt(): PromptDataType["prompt"];
    get version(): HasId extends true ? TransactionId : TransactionId | undefined;
    get options(): NonNullable<PromptDataType["options"]>;
    get templateFormat(): string | null | undefined;
    get promptData(): PromptDataType;
    /**
     * Build the prompt with the given formatting options. The args you pass in will
     * be forwarded to the mustache template that defines the prompt and rendered with
     * the `mustache-js` library.
     *
     * @param buildArgs Args to forward along to the prompt template.
     */
    build<Flavor extends "chat" | "completion" = "chat">(buildArgs: unknown, options?: {
        flavor?: Flavor;
        messages?: ChatCompletionMessageParamType[];
        strict?: boolean;
        templateFormat?: TemplateFormat;
    }): CompiledPrompt<Flavor>;
    /**
     * This is a special build method that first resolves attachment references, and then
     * calls the regular build method. You should use this if you are building prompts from
     * dataset rows that contain attachments.
     *
     * @param buildArgs Args to forward along to the prompt template.
     */
    buildWithAttachments<Flavor extends "chat" | "completion" = "chat">(buildArgs: unknown, options?: {
        flavor?: Flavor;
        messages?: ChatCompletionMessageParamType[];
        strict?: boolean;
        state?: BraintrustState;
        templateFormat?: TemplateFormat;
    }): Promise<CompiledPrompt<Flavor>>;
    private runBuild;
    static renderPrompt({ prompt, buildArgs, options, }: {
        prompt: PromptBlockDataType;
        buildArgs: unknown;
        options: {
            strict?: boolean;
            messages?: ChatCompletionMessageParamType[];
            templateFormat?: TemplateFormat;
        };
    }): PromptBlockDataType;
    private getParsedPromptData;
    static isPrompt(data: unknown): data is Prompt<boolean, boolean>;
    static fromPromptData(name: string, promptData: PromptDataType): Prompt<false, false>;
}
declare class RemoteEvalParameters<HasId extends boolean = true, HasVersion extends boolean = true, T extends Record<string, unknown> = Record<string, unknown>> {
    private metadata;
    private readonly __braintrust_parameters_marker;
    constructor(metadata: ParametersRow);
    get id(): HasId extends true ? string : string | undefined;
    get projectId(): string | undefined;
    get name(): string;
    get slug(): string;
    get version(): HasVersion extends true ? TransactionId : TransactionId | undefined;
    get schema(): Record<string, unknown>;
    get data(): T;
    validate(data: unknown): boolean;
    static isParameters(x: unknown): x is RemoteEvalParameters<boolean, boolean, Record<string, unknown>>;
}
type AnyDataset = Dataset<boolean>;
/**
 * Summary of a score's performance.
 * @property name Name of the score.
 * @property score Average score across all examples.
 * @property diff Difference in score between the current and reference experiment.
 * @property improvements Number of improvements in the score.
 * @property regressions Number of regressions in the score.
 */
interface ScoreSummary {
    name: string;
    score: number;
    diff?: number;
    improvements: number;
    regressions: number;
}
/**
 * Summary of a metric's performance.
 * @property name Name of the metric.
 * @property metric Average metric across all examples.
 * @property unit Unit label for the metric.
 * @property diff Difference in metric between the current and reference experiment.
 * @property improvements Number of improvements in the metric.
 * @property regressions Number of regressions in the metric.
 */
interface MetricSummary {
    name: string;
    metric: number;
    unit: string;
    diff?: number;
    improvements: number;
    regressions: number;
}
/**
 * Summary of an experiment's scores and metadata.
 * @property projectName Name of the project that the experiment belongs to.
 * @property experimentName Name of the experiment.
 * @property experimentId ID of the experiment. May be `undefined` if the eval was run locally.
 * @property projectUrl URL to the project's page in the Braintrust app.
 * @property experimentUrl URL to the experiment's page in the Braintrust app.
 * @property comparisonExperimentName The experiment scores are baselined against.
 * @property scores Summary of the experiment's scores.
 */
interface ExperimentSummary {
    projectName: string;
    experimentName: string;
    projectId?: string;
    experimentId?: string;
    projectUrl?: string;
    experimentUrl?: string;
    comparisonExperimentName?: string;
    scores: Record<string, ScoreSummary>;
    metrics?: Record<string, MetricSummary>;
}
/**
 * Summary of a dataset's data.
 *
 * @property totalRecords Total records in the dataset.
 */
interface DataSummary {
    /**
     * New or updated records added in this session.
     */
    newRecords: number;
    /**
     * Total records in the dataset.
     */
    totalRecords: number;
}
/**
 * Summary of a dataset's scores and metadata.
 *
 * @property projectName Name of the project that the dataset belongs to.
 * @property datasetName Name of the dataset.
 * @property projectUrl URL to the project's page in the Braintrust app.
 * @property datasetUrl URL to the experiment's page in the Braintrust app.
 * @property dataSummary Summary of the dataset's data.
 */
interface DatasetSummary {
    projectName: string;
    datasetName: string;
    projectUrl: string;
    datasetUrl: string;
    dataSummary: DataSummary | undefined;
}
declare function setInitialTestState(): void;
declare function simulateLoginForTests(): Promise<BraintrustState>;
declare function simulateLogoutForTests(): BraintrustState;
/**
 * Get the versions for a prompt.
 *
 * @param projectId The ID of the project to query
 * @param promptId The ID of the prompt to get versions for
 * @returns Promise containing the version data
 */
declare function getPromptVersions(projectId: string, promptId: string): Promise<any>;
declare function resetIdGenStateForTests(): void;
declare const _exportsForTestingOnly: {
    extractAttachments: typeof extractAttachments;
    deepCopyEvent: typeof deepCopyEvent;
    useTestBackgroundLogger: typeof useTestBackgroundLogger;
    clearTestBackgroundLogger: typeof clearTestBackgroundLogger;
    resetDebugLoggerForTests: typeof resetDebugLoggerForTests;
    simulateLoginForTests: typeof simulateLoginForTests;
    simulateLogoutForTests: typeof simulateLogoutForTests;
    setInitialTestState: typeof setInitialTestState;
    initTestExperiment: typeof initTestExperiment;
    isGeneratorFunction: typeof isGeneratorFunction;
    isAsyncGeneratorFunction: typeof isAsyncGeneratorFunction;
    resetIdGenStateForTests: typeof resetIdGenStateForTests;
    validateTags: typeof validateTags;
    isomorph: Common;
};

/**
 * Configuration for a sandbox runtime.
 * @internal
 */
interface SandboxConfig {
    /** The sandbox provider. Currently only "modal" is supported. */
    provider: "modal";
    /** Reference to the sandbox snapshot. */
    snapshotRef: string;
}
/**
 * Options for registering a sandbox function.
 * @internal
 */
interface RegisterSandboxOptions {
    /** Group name for the sandbox functions. */
    name: string;
    /** Name of the project to register the sandbox in. */
    project: string;
    /** Sandbox configuration (provider and snapshot reference). */
    sandbox: SandboxConfig;
    /** Optional list of entrypoints available in the sandbox. */
    entrypoints?: string[];
    /** Optional description. */
    description?: string;
    /** Optional metadata. */
    metadata?: Record<string, unknown>;
    /** What to do if function already exists. Defaults to "replace". */
    ifExists?: IfExistsType;
    /** Braintrust API key. Uses BRAINTRUST_API_KEY env var if not provided. */
    apiKey?: string;
    /** Braintrust app URL. Uses default if not provided. */
    appUrl?: string;
    /** Organization name. */
    orgName?: string;
    /** Optional BraintrustState instance. Defaults to the global state. */
    state?: BraintrustState;
}
/**
 * Result of registering a sandbox.
 * @internal
 */
interface RegisterSandboxResult {
    /** Project ID the sandbox is registered in. */
    projectId: string;
    /** Registered eval functions discovered from this sandbox. */
    functions: {
        /** Eval name discovered from sandbox list endpoint. */
        evalName: string;
        /** Unique identifier for the function. */
        id: string;
        /** Function name. */
        name: string;
        /** URL-friendly identifier. */
        slug: string;
    }[];
}
/**
 * Register a sandbox function with Braintrust.
 *
 * @param options Configuration for the sandbox to register.
 * @returns The registered sandbox function details.
 * @internal
 *
 * @example
 * ```typescript
 * const result = await registerSandbox({
 *   name: "My Sandbox",
 *   project: "My Project",
 *   entrypoints: ["./my-eval.eval.ts"],
 *   sandbox: {
 *     provider: "modal",
 *     snapshotRef: "sb-xxx",
 *   },
 * });
 * console.log(result.functions.map((f) => f.id));
 * ```
 */
declare function registerSandbox(options: RegisterSandboxOptions): Promise<RegisterSandboxResult>;

declare function isTemplateFormat(v: unknown): v is TemplateFormat;
declare function parseTemplateFormat(value: unknown, defaultFormat?: TemplateFormat): TemplateFormat;
declare function renderTemplateContent(template: string, variables: Record<string, unknown>, escape: (v: unknown) => string, options: {
    strict?: boolean;
    templateFormat?: TemplateFormat;
}): string;

declare const braintrustStreamChunkSchema: z.ZodUnion<[z.ZodObject<{
    type: z.ZodLiteral<"text_delta">;
    data: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "text_delta";
    data: string;
}, {
    type: "text_delta";
    data: string;
}>, z.ZodObject<{
    type: z.ZodLiteral<"reasoning_delta">;
    data: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "reasoning_delta";
    data: string;
}, {
    type: "reasoning_delta";
    data: string;
}>, z.ZodObject<{
    type: z.ZodLiteral<"json_delta">;
    data: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "json_delta";
    data: string;
}, {
    type: "json_delta";
    data: string;
}>, z.ZodObject<{
    type: z.ZodLiteral<"error">;
    data: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "error";
    data: string;
}, {
    type: "error";
    data: string;
}>, z.ZodObject<{
    type: z.ZodLiteral<"console">;
    data: z.ZodObject<{
        stream: z.ZodEnum<["stderr", "stdout"]>;
        message: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        message: string;
        stream: "stderr" | "stdout";
    }, {
        message: string;
        stream: "stderr" | "stdout";
    }>;
}, "strip", z.ZodTypeAny, {
    type: "console";
    data: {
        message: string;
        stream: "stderr" | "stdout";
    };
}, {
    type: "console";
    data: {
        message: string;
        stream: "stderr" | "stdout";
    };
}>, z.ZodObject<{
    type: z.ZodLiteral<"progress">;
    data: z.ZodObject<{
        id: z.ZodString;
        object_type: z.ZodEnum<["prompt", "tool", "scorer", "task", "workflow", "custom_view", "preprocessor", "facet", "classifier", "parameters", "sandbox"]>;
        origin: z.ZodOptional<z.ZodIntersection<z.ZodUnion<[z.ZodObject<{
            object_type: z.ZodEnum<["project_logs", "experiment", "dataset", "prompt", "function", "prompt_session"]>;
            object_id: z.ZodString;
            id: z.ZodString;
            _xact_id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
            created: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            id: string;
            object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
            object_id: string;
            created?: string | null | undefined;
            _xact_id?: string | null | undefined;
        }, {
            id: string;
            object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
            object_id: string;
            created?: string | null | undefined;
            _xact_id?: string | null | undefined;
        }>, z.ZodNull]>, z.ZodUnknown>>;
        format: z.ZodEnum<["llm", "code", "global", "graph", "topic_map"]>;
        output_type: z.ZodEnum<["completion", "score", "facet", "classification", "any"]>;
        name: z.ZodString;
        event: z.ZodEnum<["reasoning_delta", "text_delta", "json_delta", "error", "console", "start", "done", "progress"]>;
        data: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        id: string;
        object_type: "prompt" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "parameters" | "sandbox" | "workflow";
        name: string;
        data: string;
        event: "done" | "error" | "text_delta" | "reasoning_delta" | "json_delta" | "progress" | "console" | "start";
        format: "code" | "llm" | "global" | "topic_map" | "graph";
        output_type: "facet" | "score" | "completion" | "classification" | "any";
        origin?: {
            id: string;
            object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
            object_id: string;
            created?: string | null | undefined;
            _xact_id?: string | null | undefined;
        } | null | undefined;
    }, {
        id: string;
        object_type: "prompt" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "parameters" | "sandbox" | "workflow";
        name: string;
        data: string;
        event: "done" | "error" | "text_delta" | "reasoning_delta" | "json_delta" | "progress" | "console" | "start";
        format: "code" | "llm" | "global" | "topic_map" | "graph";
        output_type: "facet" | "score" | "completion" | "classification" | "any";
        origin?: {
            id: string;
            object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
            object_id: string;
            created?: string | null | undefined;
            _xact_id?: string | null | undefined;
        } | null | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    type: "progress";
    data: {
        id: string;
        object_type: "prompt" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "parameters" | "sandbox" | "workflow";
        name: string;
        data: string;
        event: "done" | "error" | "text_delta" | "reasoning_delta" | "json_delta" | "progress" | "console" | "start";
        format: "code" | "llm" | "global" | "topic_map" | "graph";
        output_type: "facet" | "score" | "completion" | "classification" | "any";
        origin?: {
            id: string;
            object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
            object_id: string;
            created?: string | null | undefined;
            _xact_id?: string | null | undefined;
        } | null | undefined;
    };
}, {
    type: "progress";
    data: {
        id: string;
        object_type: "prompt" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "parameters" | "sandbox" | "workflow";
        name: string;
        data: string;
        event: "done" | "error" | "text_delta" | "reasoning_delta" | "json_delta" | "progress" | "console" | "start";
        format: "code" | "llm" | "global" | "topic_map" | "graph";
        output_type: "facet" | "score" | "completion" | "classification" | "any";
        origin?: {
            id: string;
            object_type: "function" | "experiment" | "dataset" | "prompt" | "prompt_session" | "project_logs";
            object_id: string;
            created?: string | null | undefined;
            _xact_id?: string | null | undefined;
        } | null | undefined;
    };
}>, z.ZodObject<{
    type: z.ZodLiteral<"start">;
    data: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "start";
    data: string;
}, {
    type: "start";
    data: string;
}>, z.ZodObject<{
    type: z.ZodLiteral<"done">;
    data: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "done";
    data: string;
}, {
    type: "done";
    data: string;
}>]>;
/**
 * A chunk of data from a Braintrust stream. Each chunk type matches
 * an SSE event type.
 */
type BraintrustStreamChunk = z.infer<typeof braintrustStreamChunkSchema>;
/**
 * A Braintrust stream. This is a wrapper around a ReadableStream of `BraintrustStreamChunk`,
 * with some utility methods to make them easy to log and convert into various formats.
 */
declare class BraintrustStream {
    private stream;
    private memoizedFinalValue;
    private signal;
    constructor(baseStream: ReadableStream<Uint8Array>, opts?: {
        signal?: AbortSignal;
    });
    constructor(stream: ReadableStream<string>, opts?: {
        signal?: AbortSignal;
    });
    constructor(stream: ReadableStream<BraintrustStreamChunk>, opts?: {
        signal?: AbortSignal;
    });
    /**
     * Copy the stream. This returns a new stream that shares the same underlying
     * stream (via `tee`). Since streams are consumed in Javascript, use `copy()` if you
     * need to use the stream multiple times.
     *
     * @returns A new stream that you can independently consume.
     */
    copy(): BraintrustStream;
    /**
     * Get the underlying ReadableStream.
     *
     * @returns The underlying `ReadableStream<BraintrustStreamChunk>`.
     */
    toReadableStream(): ReadableStream<BraintrustStreamChunk>;
    /**
     * Returns an async iterator for the BraintrustStream.
     * This allows for easy consumption of the stream using a for-await...of loop.
     *
     * @returns An async iterator that yields BraintrustStreamChunk objects.
     */
    [Symbol.asyncIterator](): AsyncIterator<BraintrustStreamChunk>;
    /**
     * Get the final value of the stream. The final value is the concatenation of all
     * the chunks in the stream, deserialized into a string or JSON object, depending on
     * the value's type.
     *
     * This function returns a promise that resolves when the stream is closed, and
     * contains the final value. Multiple calls to `finalValue()` will return the same
     * promise, so it is safe to call this multiple times.
     *
     * This function consumes the stream, so if you need to use the stream multiple
     * times, you should call `copy()` first.
     *
     * @returns A promise that resolves with the final value of the stream or `undefined` if the stream is empty.
     */
    finalValue(): Promise<unknown>;
    static parseRawEvent(event: CallEventType): BraintrustStreamChunk;
    static serializeRawEvent(event: BraintrustStreamChunk): CallEventType;
}
/**
 * Create a stream that passes through the final value of the stream. This is
 * used to implement `BraintrustStream.finalValue()`.
 *
 * @param onFinal A function to call with the final value of the stream.
 * @returns A new stream that passes through the final value of the stream.
 */
declare function createFinalValuePassThroughStream<T extends BraintrustStreamChunk | string | Uint8Array>(onFinal: (result: unknown) => void, onError: (error: unknown) => void): TransformStream<T, BraintrustStreamChunk>;
declare function devNullWritableStream(): WritableStream;

/**
 * Arguments for the `invoke` function.
 */
interface InvokeFunctionArgs<Input, Output, Stream extends boolean = false> {
    /**
     * The ID of the function to invoke.
     */
    function_id?: string;
    /**
     * The name of the project containing the function to invoke.
     */
    projectName?: string;
    /**
     * The ID of the project to use for execution context (API keys, project defaults, etc.).
     * This is not the project the function belongs to, but the project context for the invocation.
     */
    projectId?: string;
    /**
     * The slug of the function to invoke.
     */
    slug?: string;
    /**
     * The name of the global function to invoke.
     */
    globalFunction?: string;
    /**
     * The type of the global function to invoke. If unspecified, defaults to 'scorer' for backward compatibility.
     */
    functionType?: FunctionTypeEnumType;
    /**
     * The ID of the prompt session to invoke the function from.
     */
    promptSessionId?: string;
    /**
     * The ID of the function in the prompt session to invoke.
     */
    promptSessionFunctionId?: string;
    /**
     * The version of the function to invoke.
     */
    version?: string;
    /**
     * The input to the function. This will be logged as the `input` field in the span.
     */
    input: Input;
    /**
     * Additional OpenAI-style messages to add to the prompt (only works for llm functions).
     */
    messages?: ChatCompletionMessageParamType[];
    /**
     * Additional metadata to add to the span. This will be logged as the `metadata` field in the span.
     * It will also be available as the {{metadata}} field in the prompt and as the `metadata` argument
     * to the function.
     */
    metadata?: Record<string, unknown>;
    /**
     * Tags to add to the span. This will be logged as the `tags` field in the span.
     */
    tags?: string[];
    /**
     * The parent of the function. This can be an existing span, logger, or experiment, or
     * the output of `.export()` if you are distributed tracing. If unspecified, will use
     * the same semantics as `traced()` to determine the parent and no-op if not in a tracing
     * context.
     */
    parent?: Exportable | string;
    /**
     * Whether to stream the function's output. If true, the function will return a
     * `BraintrustStream`, otherwise it will return the output of the function as a JSON
     * object.
     */
    stream?: Stream;
    /**
     * The mode of the function. If "auto", will return a string if the function returns a string,
     * and a JSON object otherwise. If "parallel", will return an array of JSON objects with one
     * object per tool call.
     */
    mode?: StreamingModeType;
    /**
     * Whether to use strict mode for the function. If true, the function will throw an error
     * if the variable names in the prompt do not match the input keys.
     */
    strict?: boolean;
    /**
     * Per-call deep-merge into the resolved function data server-side. Useful for facet,
     * code, global, and remote_eval functions (for example, overriding a facet's `model`
     * or a global function's `config`). Has no effect on prompt functions, whose
     * parameters live on a separate field that the override path does not touch.
     */
    overrides?: Record<string, unknown>;
    /**
     * A Zod schema to validate the output of the function and return a typed value. This
     * is only used if `stream` is false.
     */
    schema?: Stream extends true ? never : z.ZodSchema<Output>;
    /**
     * (Advanced) This parameter allows you to pass in a custom login state. This is useful
     * for multi-tenant environments where you are running functions from different Braintrust
     * organizations.
     */
    state?: BraintrustState;
}
/**
 * The return type of the `invoke` function. Conditionally returns a `BraintrustStream`
 * if `stream` is true, otherwise returns the output of the function using the Zod schema's
 * type if present.
 */
type InvokeReturn<Stream extends boolean, Output> = Stream extends true ? BraintrustStream : Output;
/**
 * Invoke a Braintrust function, returning a `BraintrustStream` or the value as a plain
 * Javascript object.
 *
 * @param args The arguments for the function (see {@link InvokeFunctionArgs} for more details).
 * @returns The output of the function.
 */
declare function invoke<Input, Output, Stream extends boolean = false>(args: InvokeFunctionArgs<Input, Output, Stream> & FullLoginOptions): Promise<InvokeReturn<Stream, Output>>;
/**
 * Creates a function that can be used as a task or scorer in the Braintrust evaluation framework.
 * The returned function wraps a Braintrust function and can be passed directly to Eval().
 *
 * When used as a task:
 * ```ts
 * const myFunction = initFunction({projectName: "myproject", slug: "myfunction"});
 * await Eval("test", {
 *   task: myFunction,
 *   data: testData,
 *   scores: [...]
 * });
 * ```
 *
 * When used as a scorer:
 * ```ts
 * const myScorer = initFunction({projectName: "myproject", slug: "myscorer"});
 * await Eval("test", {
 *   task: someTask,
 *   data: testData,
 *   scores: [myScorer]
 * });
 * ```
 *
 * @param options Options for the function.
 * @param options.projectName The project name containing the function.
 * @param options.slug The slug of the function to invoke.
 * @param options.version Optional version of the function to use. Defaults to latest.
 * @param options.state Optional Braintrust state to use.
 * @returns A function that can be used as a task or scorer in Eval().
 */
declare function initFunction({ projectName, slug, version, state, }: {
    projectName: string;
    slug: string;
    version?: string;
    state?: BraintrustState;
}): (input: any) => Promise<any>;

declare const LEGACY_CACHED_HEADER = "x-cached";
declare const X_CACHED_HEADER = "x-bt-cached";
declare function parseCachedHeader(value: string | null | undefined): number | undefined;

/**
 * Vendored types for the OpenAI SDK which our wrapper and instrumentation consume.
 *
 * Should never be exposed to users of the SDK!
 */
interface OpenAIAPIPromise<T> extends Promise<T> {
    withResponse(): Promise<OpenAIWithResponse<T>>;
}
interface OpenAIWithResponse<T> {
    data: T;
    response: Response;
}
interface OpenAIChatCreateParams {
    messages: unknown;
    stream?: boolean | null;
    [key: string]: unknown;
}
interface OpenAIEmbeddingCreateParams {
    input: unknown;
    [key: string]: unknown;
}
interface OpenAIModerationCreateParams {
    input: unknown;
    [key: string]: unknown;
}
interface OpenAIResponseCreateParams {
    input?: unknown;
    stream?: boolean | null;
    [key: string]: unknown;
}
interface OpenAIResponseCompactParams {
    input: unknown;
    [key: string]: unknown;
}
interface OpenAIUsage {
    total_tokens?: number;
    prompt_tokens?: number;
    completion_tokens?: number;
    input_tokens?: number;
    output_tokens?: number;
    cached?: number;
    input_tokens_details?: Record<string, number>;
    output_tokens_details?: Record<string, number>;
    [key: string]: number | Record<string, number> | undefined;
}
interface OpenAIChatToolFunction {
    arguments: string;
    name?: string;
    [key: string]: unknown;
}
interface OpenAIChatToolCall {
    id?: string;
    type?: string;
    function: OpenAIChatToolFunction;
    [key: string]: unknown;
}
interface OpenAIChatMessage {
    role?: string;
    content?: unknown;
    refusal?: string;
    tool_calls?: OpenAIChatToolCall[];
    [key: string]: unknown;
}
interface OpenAIChatTokenLogprob {
    token?: string;
    logprob?: number;
    bytes?: number[] | null;
    top_logprobs?: OpenAIChatTokenLogprob[];
    [key: string]: unknown;
}
interface OpenAIChatLogprobs {
    content?: OpenAIChatTokenLogprob[] | null;
    refusal?: OpenAIChatTokenLogprob[] | null;
    [key: string]: unknown;
}
interface OpenAIChatChoice {
    index: number;
    message: OpenAIChatMessage;
    finish_reason?: string | null;
    logprobs?: OpenAIChatLogprobs | null;
    [key: string]: unknown;
}
interface OpenAIChatCompletion {
    choices: OpenAIChatChoice[];
    usage?: OpenAIUsage;
    [key: string]: unknown;
}
interface OpenAIChatDelta {
    role?: string;
    content?: string;
    refusal?: string;
    tool_calls?: OpenAIChatToolCall[];
    finish_reason?: string | null;
    [key: string]: unknown;
}
interface OpenAIChatChunkChoice {
    delta?: OpenAIChatDelta;
    finish_reason?: string | null;
    logprobs?: OpenAIChatLogprobs | null;
    [key: string]: unknown;
}
interface OpenAIChatCompletionChunk {
    choices?: OpenAIChatChunkChoice[];
    usage?: OpenAIUsage;
    [key: string]: unknown;
}
type OpenAIChatStream = AsyncIterable<OpenAIChatCompletionChunk>;
interface OpenAIEmbeddingResponse {
    data?: Array<{
        embedding?: number[];
        [key: string]: unknown;
    }>;
    usage?: OpenAIUsage;
    [key: string]: unknown;
}
interface OpenAIModerationResponse {
    results?: unknown[];
    usage?: OpenAIUsage;
    [key: string]: unknown;
}
interface OpenAIResponse {
    output?: unknown;
    usage?: OpenAIUsage;
    [key: string]: unknown;
}
interface OpenAIResponseCompletedEvent {
    type: "response.completed";
    response: OpenAIResponse;
}
type OpenAIResponseStreamEvent = OpenAIResponseCompletedEvent | {
    type: string;
    response?: OpenAIResponse;
    [key: string]: unknown;
};
type OpenAIResponseStream = AsyncIterable<OpenAIResponseStreamEvent>;
interface OpenAISyncStream {
    [key: string]: unknown;
}
interface OpenAIChatCompletions {
    create: (params: OpenAIChatCreateParams, options?: unknown) => OpenAIAPIPromise<OpenAIChatCompletion | OpenAIChatStream>;
    parse?: (params: OpenAIChatCreateParams, options?: unknown) => OpenAIAPIPromise<OpenAIChatCompletion>;
    stream?: (params: OpenAIChatCreateParams, options?: unknown) => OpenAISyncStream;
}
interface OpenAIChatCompletionsWithParsing extends OpenAIChatCompletions {
    parse: (params: OpenAIChatCreateParams, options?: unknown) => OpenAIAPIPromise<OpenAIChatCompletion>;
    stream: (params: OpenAIChatCreateParams, options?: unknown) => OpenAISyncStream;
}
interface OpenAIChat {
    completions: OpenAIChatCompletions;
}
interface OpenAIChatWithParsing {
    completions: OpenAIChatCompletionsWithParsing;
}
interface OpenAIBeta {
    chat: OpenAIChatWithParsing;
}
interface OpenAIEmbeddings {
    create: (params: OpenAIEmbeddingCreateParams, options?: unknown) => OpenAIAPIPromise<OpenAIEmbeddingResponse>;
}
interface OpenAIModerations {
    create: (params: OpenAIModerationCreateParams, options?: unknown) => OpenAIAPIPromise<OpenAIModerationResponse>;
}
interface OpenAIResponses {
    create: (params: OpenAIResponseCreateParams, options?: unknown) => OpenAIAPIPromise<OpenAIResponse | OpenAIResponseStream>;
    compact?: (params: OpenAIResponseCompactParams, options?: unknown) => OpenAIAPIPromise<OpenAIResponse>;
    parse?: (params: OpenAIResponseCreateParams, options?: unknown) => OpenAIAPIPromise<OpenAIResponse>;
    stream?: (params: OpenAIResponseCreateParams, options?: unknown) => OpenAISyncStream;
}

interface OpenAIV4Client {
    chat: OpenAIChat;
    embeddings: OpenAIEmbeddings;
    moderations: OpenAIModerations;
    beta?: OpenAIBeta;
    responses?: OpenAIResponses;
}

declare global {
    var __inherited_braintrust_wrap_openai: ((openai: any) => any) | undefined;
}
/**
 * Wrap an `OpenAI` object (created with `new OpenAI(...)`) to add tracing. If Braintrust is
 * not configured, nothing will be traced. If this is not an `OpenAI` object, this function is
 * a no-op.
 *
 * Currently, this supports the `v4`, `v5`, and `v6` API.
 *
 * @param openai
 * @returns The wrapped `OpenAI` object.
 */
declare function wrapOpenAI<T extends object>(openai: T): T;
type OpenAILike = OpenAIV4Client;
declare function wrapOpenAIv4<T extends OpenAILike>(openai: T): T;

interface WrapAISDKOptions {
    denyOutputPaths?: string[];
}
/**
 * Wraps Vercel AI SDK methods with Braintrust tracing.
 *
 * @param ai - The AI SDK namespace (e.g., import * as ai from "ai")
 * @returns AI SDK with Braintrust tracing.
 *
 * @example
 * ```typescript
 * import { wrapAISDK } from "braintrust";
 * import * as ai from "ai";
 *
 * const { generateText, streamText, generateObject, streamObject, Agent } = wrapAISDK(ai);
 *
 * const result = await generateText({
 *   model: openai("gpt-4"),
 *   prompt: "Hello world"
 * });
 *
 * const agent = new Agent({ model: openai("gpt-4") });
 * const agentResult = await agent.generate({ prompt: "Hello from agent" });
 * ```
 */
declare function wrapAISDK<T>(aiSDK: T, options?: WrapAISDKOptions): T;
declare const wrapAgentClass: (AgentClass: any, options?: WrapAISDKOptions) => any;

/**
 * Narrow AI SDK v7 telemetry types used by Braintrust.
 *
 * These mirror only the callback fields Braintrust reads. The public AI SDK
 * `Telemetry` type is structural, so users do not need `ai` installed as a
 * direct dependency for this package to type-check.
 */
interface AISDKV7TelemetryOptions {
    recordInputs?: boolean;
    recordOutputs?: boolean;
    functionId?: string;
}
interface AISDKV7ModelInfo {
    provider?: string;
    modelId?: string;
}
interface AISDKV7OperationEvent extends AISDKV7TelemetryOptions, AISDKV7ModelInfo {
    callId: string;
    operationId: string;
    [key: string]: unknown;
}
interface AISDKV7LanguageModelCallStartEvent extends AISDKV7TelemetryOptions, AISDKV7ModelInfo {
    callId: string;
    [key: string]: unknown;
}
interface AISDKV7LanguageModelCallEndEvent extends AISDKV7TelemetryOptions, AISDKV7ModelInfo {
    callId: string;
    content?: unknown;
    finishReason?: unknown;
    responseId?: string;
    usage?: unknown;
    [key: string]: unknown;
}
interface AISDKV7ObjectStepStartEvent extends AISDKV7TelemetryOptions, AISDKV7ModelInfo {
    callId: string;
    promptMessages?: unknown;
    stepNumber?: number;
    [key: string]: unknown;
}
interface AISDKV7ObjectStepEndEvent extends AISDKV7TelemetryOptions, AISDKV7ModelInfo {
    callId: string;
    finishReason?: unknown;
    objectText?: string;
    providerMetadata?: unknown;
    reasoning?: unknown;
    request?: unknown;
    response?: unknown;
    usage?: unknown;
    warnings?: unknown;
    [key: string]: unknown;
}
interface AISDKV7EmbedStartEvent extends AISDKV7TelemetryOptions, AISDKV7ModelInfo {
    callId: string;
    embedCallId: string;
    operationId: string;
    values: unknown[];
    [key: string]: unknown;
}
interface AISDKV7EmbedEndEvent extends AISDKV7TelemetryOptions, AISDKV7ModelInfo {
    callId: string;
    embedCallId: string;
    operationId: string;
    embeddings?: unknown[];
    usage?: unknown;
    values?: unknown[];
    [key: string]: unknown;
}
interface AISDKV7RerankStartEvent extends AISDKV7TelemetryOptions, AISDKV7ModelInfo {
    callId: string;
    documents?: unknown[];
    query?: string;
    topN?: number;
    [key: string]: unknown;
}
interface AISDKV7RerankEndEvent extends AISDKV7TelemetryOptions, AISDKV7ModelInfo {
    callId: string;
    ranking?: Array<{
        index?: number;
        relevanceScore?: number;
    }>;
    [key: string]: unknown;
}
interface AISDKV7ToolCall {
    toolCallId?: string;
    toolName?: string;
    input?: unknown;
    [key: string]: unknown;
}
interface AISDKV7ToolExecutionStartEvent extends AISDKV7TelemetryOptions {
    callId: string;
    toolCall: AISDKV7ToolCall;
    toolContext?: unknown;
    [key: string]: unknown;
}
interface AISDKV7ToolOutput {
    type?: "tool-result" | "tool-error" | string;
    output?: unknown;
    error?: unknown;
    [key: string]: unknown;
}
interface AISDKV7ToolExecutionEndEvent extends AISDKV7TelemetryOptions {
    callId: string;
    durationMs?: number;
    toolCall: AISDKV7ToolCall;
    toolOutput?: AISDKV7ToolOutput;
    [key: string]: unknown;
}
interface AISDKV7ChunkEvent {
    chunk?: {
        type?: string;
        callId?: string;
        [key: string]: unknown;
    };
}
interface AISDKV7Telemetry {
    onStart?: (event: AISDKV7OperationEvent) => void | PromiseLike<void>;
    onStepStart?: (event: unknown) => void | PromiseLike<void>;
    onLanguageModelCallStart?: (event: AISDKV7LanguageModelCallStartEvent) => void | PromiseLike<void>;
    onLanguageModelCallEnd?: (event: AISDKV7LanguageModelCallEndEvent) => void | PromiseLike<void>;
    onObjectStepStart?: (event: AISDKV7ObjectStepStartEvent) => void | PromiseLike<void>;
    onObjectStepFinish?: (event: AISDKV7ObjectStepEndEvent) => void | PromiseLike<void>;
    onEmbedStart?: (event: AISDKV7EmbedStartEvent) => void | PromiseLike<void>;
    onEmbedFinish?: (event: AISDKV7EmbedEndEvent) => void | PromiseLike<void>;
    onRerankStart?: (event: AISDKV7RerankStartEvent) => void | PromiseLike<void>;
    onRerankFinish?: (event: AISDKV7RerankEndEvent) => void | PromiseLike<void>;
    onToolExecutionStart?: (event: AISDKV7ToolExecutionStartEvent) => void | PromiseLike<void>;
    onToolExecutionEnd?: (event: AISDKV7ToolExecutionEndEvent) => void | PromiseLike<void>;
    onChunk?: (event: AISDKV7ChunkEvent) => void | PromiseLike<void>;
    onStepFinish?: (event: unknown) => void | PromiseLike<void>;
    onFinish?: (event: AISDKV7OperationEvent) => void | PromiseLike<void>;
    onError?: (event: unknown) => void | PromiseLike<void>;
    executeTool?: <T>(options: {
        callId: string;
        toolCallId: string;
        execute: () => PromiseLike<T>;
    }) => PromiseLike<T>;
}

/**
 * Creates a Braintrust telemetry integration for AI SDK v7's
 * `registerTelemetry()` API.
 */
declare function braintrustAISDKTelemetry(): AISDKV7Telemetry;

/**
 * Wrap an ai-sdk model (created with `.chat()`, `.completion()`, etc.) to add tracing. If Braintrust is
 * not configured, this is a no-op
 *
 * @param model
 * @deprecated You should use the new `wrapAISDK`.
 * @returns The wrapped object.
 */
declare function wrapAISDKModel<T extends object>(model: T): T;

interface LanguageModelV2Middleware<TModel = any, TCallOptions = any> {
    wrapGenerate?: (options: {
        doGenerate: () => any;
        doStream: () => any;
        params: TCallOptions;
        model: TModel;
    }) => Promise<any>;
    wrapStream?: (options: {
        doGenerate: () => any;
        doStream: () => any;
        params: TCallOptions;
        model: TModel;
    }) => Promise<any>;
}
/**
 * Configuration options for the AI SDK middleware
 */
interface MiddlewareConfig {
    /** Enable debug logging */
    debug?: boolean;
    /** Name identifier for the middleware instance */
    name?: string;
    /** Span info from loadPrompt for prompt version tracking */
    spanInfo?: CompiledPrompt<"chat">["span_info"];
}
/**
 * Creates a Braintrust middleware for AI SDK v2 that automatically traces
 * generateText and streamText calls with comprehensive metadata and metrics.
 *
 * @param config - Configuration options for the middleware
 * @returns A middleware object compatible with AI SDK v2's wrapLanguageModel
 *
 * @deprecated The new `wrapAISDK` replaces this middleware.
 *
 * @example
 * ```typescript
 * import { wrapLanguageModel } from "ai";
 * import { openai } from "@ai-sdk/openai";
 * import { BraintrustMiddleware } from "braintrust";
 *
 * const model = wrapLanguageModel({
 *   model: openai("gpt-4"),
 *   middleware: BraintrustMiddleware({ debug: true, name: "MyMiddleware" })
 * });
 * ```
 *
 */
declare function BraintrustMiddleware(config?: MiddlewareConfig): LanguageModelV2Middleware<any, any>;

/**
 * Wrap an `Anthropic` object (created with `new Anthropic(...)`) so calls emit
 * tracing-channel events that Braintrust plugins can consume.
 *
 * Currently, this only supports the `v4` API.
 *
 * @param anthropic
 * @returns The wrapped `Anthropic` object.
 */
declare function wrapAnthropic<T extends object>(anthropic: T): T;

/**
 * Braintrust integration for `@mastra/core`'s observability pipeline.
 *
 * Mastra ships a public `ObservabilityExporter` extension contract documented
 * at https://mastra.ai/docs/observability/tracing/exporters/braintrust . This
 * file implements that contract: every Mastra `TracingEvent` (one of
 * SPAN_STARTED / SPAN_UPDATED / SPAN_ENDED) is translated into a Braintrust
 * span, parented via the Mastra-supplied `parentSpanId`.
 *
 * Two integration paths:
 *   - **Manual**: `new Mastra({ observability: new Observability({ configs: {
 *     default: { exporters: [new BraintrustObservabilityExporter()] } } }) })`
 *   - **Auto** (under `node --import braintrust/hook.mjs`): the loader patches
 *     `@mastra/core`'s `dist/mastra/index.{js,cjs}` to wrap `Mastra` so it
 *     calls `defaultInstance.registerExporter(exporter)` after construction.
 *
 * Minimum supported Mastra version: 1.20.0 (when `Mastra.prototype.register`
 * `Exporter` and `ObservabilityInstance.registerExporter` were added). The
 * exporter itself works as a manual integration on any Mastra version that
 * accepts an `ObservabilityExporter`.
 */
/** Subset of Mastra's `AnyExportedSpan` that we consume — vendored to avoid a
 *  hard dependency on `@mastra/core` types. Fields match `SpanData<SpanType>`
 *  in `@mastra/core/observability`. */
interface MastraExportedSpan {
    id: string;
    traceId: string;
    name: string;
    type: string;
    startTime: Date | string | number;
    endTime?: Date | string | number;
    parentSpanId?: string;
    isRootSpan?: boolean;
    isEvent?: boolean;
    isInternal?: boolean;
    entityType?: string;
    entityId?: string;
    entityName?: string;
    attributes?: Record<string, unknown>;
    metadata?: Record<string, unknown>;
    tags?: string[];
    input?: unknown;
    output?: unknown;
    errorInfo?: {
        message: string;
        id?: string;
        name?: string;
        stack?: string;
        domain?: string;
        category?: string;
        details?: Record<string, unknown>;
    };
    requestContext?: Record<string, unknown>;
}
interface MastraTracingEvent {
    type: "span_started" | "span_updated" | "span_ended";
    exportedSpan: MastraExportedSpan;
}
/** Subset of the `ObservabilityExporter` contract from `@mastra/core`. */
interface MastraObservabilityExporter {
    name: string;
    init?(options: unknown): void;
    __setLogger?(logger: unknown): void;
    exportTracingEvent(event: MastraTracingEvent): Promise<void>;
    flush(): Promise<void>;
    shutdown(): Promise<void>;
}
/**
 * Translates Mastra `TracingEvent`s into Braintrust spans.
 *
 * Construct one instance per `Observability` config (Mastra holds onto it for
 * the process lifetime). Safe to register on multiple Mastra instances, but
 * each instance maintains its own span map keyed by Mastra `spanId`.
 */
declare class BraintrustObservabilityExporter implements MastraObservabilityExporter {
    readonly name = "braintrust";
    private readonly spans;
    private capturedParent;
    constructor();
    exportTracingEvent(event: MastraTracingEvent): Promise<void>;
    flush(): Promise<void>;
    shutdown(): Promise<void>;
    private onStart;
    private onUpdate;
    private onEnd;
    private logPayload;
}
/**
 * @deprecated Mastra is now instrumented through its own `ObservabilityExporter`
 * contract instead of by wrapping the agent. This function does nothing and
 * will be removed in the next major release.
 *
 * To capture Mastra spans in Braintrust, do one of:
 *
 * - **Auto-instrumentation**: run your app with
 *   `node --import braintrust/hook.mjs`. The loader installs
 *   `BraintrustObservabilityExporter` into every `new Mastra(...)`
 *   automatically.
 * - **Manual wiring**: pass the exporter yourself:
 *
 *   ```ts
 *   import { Mastra } from "@mastra/core";
 *   import { Observability } from "@mastra/observability";
 *   import { BraintrustObservabilityExporter } from "braintrust";
 *
 *   const mastra = new Mastra({
 *     observability: new Observability({
 *       configs: {
 *         default: {
 *           serviceName: "my-service",
 *           exporters: [new BraintrustObservabilityExporter()],
 *         },
 *       },
 *     }),
 *   });
 *   ```
 */
declare function wrapMastraAgent<T>(agent: T, _options?: {
    name?: string;
    span_name?: string;
}): T;

/**
 * Wraps the Claude Agent SDK with Braintrust tracing. Query calls only publish
 * tracing-channel events; the Claude Agent SDK plugin owns all span lifecycle
 * work, including root/task spans, LLM spans, tool spans, and sub-agent spans.
 *
 * @param sdk - The Claude Agent SDK module
 * @returns Object with wrapped query, tool, and createSdkMcpServer functions
 */
declare function wrapClaudeAgentSDK<T extends object>(sdk: T): T;

/**
 * Wraps the OpenAI Codex TypeScript SDK with Braintrust tracing. The wrapper
 * emits diagnostics-channel events; the OpenAI Codex plugin owns span lifecycle.
 */
declare function wrapOpenAICodexSDK<T>(sdk: T): T;

/**
 * Wraps the Cursor TypeScript SDK with Braintrust tracing. The wrapper emits
 * diagnostics-channel events; the Cursor SDK plugin owns span lifecycle.
 */
declare function wrapCursorSDK<T>(sdk: T): T;

/**
 * Wraps the Pi Coding Agent SDK with Braintrust tracing. The wrapper emits
 * diagnostics-channel events; the Pi Coding Agent plugin owns span lifecycle.
 */
declare function wrapPiCodingAgentSDK<T>(sdk: T): T;

/**
 * Wrap a Google GenAI module (imported with `import * as googleGenAI from '@google/genai'`) to add tracing.
 * If Braintrust is not configured, nothing will be traced.
 *
 * @param googleGenAI The Google GenAI module
 * @returns The wrapped Google GenAI module
 *
 * @example
 * ```typescript
 * import * as googleGenAI from '@google/genai';
 * import { wrapGoogleGenAI, initLogger } from 'braintrust';
 *
 * initLogger({projectName: 'Your project' });
 * const { GoogleGenAI } } = wrapGoogleGenAI(googleGenAI);
 * const client = new GoogleGenAI({ apiKey: 'YOUR_API_KEY' });
 * ```
 */
declare function wrapGoogleGenAI<T extends Record<string, any>>(googleGenAI: T): T;

/**
 * Wrap a Google ADK module (imported with `import * as adk from '@google/adk'`) to add tracing.
 * If Braintrust is not configured, nothing will be traced.
 *
 * This wraps:
 * - Runner.runAsync / InMemoryRunner.runAsync — top-level agent execution
 * - BaseAgent.runAsync (and all subclasses) — individual agent invocations
 * - BaseTool.runAsync / FunctionTool.runAsync — tool execution
 *
 * LLM calls are already traced via the existing @google/genai instrumentation,
 * since ADK uses GenAI internally.
 *
 * @param adkModule The Google ADK module
 * @returns The wrapped Google ADK module
 *
 * @example
 * ```typescript
 * import * as adk from '@google/adk';
 * import { wrapGoogleADK, initLogger } from 'braintrust';
 *
 * initLogger({ projectName: 'Your project' });
 * const { LlmAgent, InMemoryRunner } = wrapGoogleADK(adk);
 *
 * const agent = new LlmAgent({ name: 'my_agent', model: 'gemini-2.5-flash' });
 * const runner = new InMemoryRunner({ agent });
 * for await (const event of runner.runAsync({ userId: 'u1', sessionId: 's1', newMessage: ... })) {
 *   console.log(event);
 * }
 * ```
 */
declare function wrapGoogleADK<T extends Record<string, any>>(adkModule: T): T;

/**
 * Wrap a Genkit instance or module so Genkit calls emit diagnostics-channel
 * events that Braintrust plugins can consume.
 *
 * This supports both:
 * - `const ai = wrapGenkit(genkit({ ... }))`
 * - wrapping the module namespace and then calling its `genkit` factory
 */
declare function wrapGenkit<T>(genkit: T): T;

interface HuggingFaceRequestOptions {
    retry_on_error?: boolean;
    fetch?: typeof fetch;
    signal?: AbortSignal;
    includeCredentials?: string | boolean;
    billTo?: string;
    [key: string]: unknown;
}
interface HuggingFaceClientConstructor {
    new (...args: unknown[]): HuggingFaceClient;
}
interface HuggingFaceModule {
    InferenceClient?: HuggingFaceClientConstructor;
    InferenceClientEndpoint?: HuggingFaceClientConstructor;
    HfInference?: HuggingFaceClientConstructor;
    HfInferenceEndpoint?: HuggingFaceClientConstructor;
    chatCompletion?: (params: HuggingFaceChatCompletionParams, options?: HuggingFaceRequestOptions) => Promise<HuggingFaceChatCompletion>;
    chatCompletionStream?: (params: HuggingFaceChatCompletionParams, options?: HuggingFaceRequestOptions) => AsyncIterable<HuggingFaceChatCompletionChunk>;
    textGeneration?: (params: HuggingFaceTextGenerationParams, options?: HuggingFaceRequestOptions) => Promise<HuggingFaceTextGenerationOutput>;
    textGenerationStream?: (params: HuggingFaceTextGenerationParams, options?: HuggingFaceRequestOptions) => AsyncIterable<HuggingFaceTextGenerationStreamOutput>;
    featureExtraction?: (params: HuggingFaceFeatureExtractionParams, options?: HuggingFaceRequestOptions) => Promise<HuggingFaceFeatureExtractionOutput>;
    [key: string]: unknown;
}
interface HuggingFaceClient {
    chatCompletion: (params: HuggingFaceChatCompletionParams, options?: HuggingFaceRequestOptions) => Promise<HuggingFaceChatCompletion>;
    chatCompletionStream: (params: HuggingFaceChatCompletionParams, options?: HuggingFaceRequestOptions) => AsyncIterable<HuggingFaceChatCompletionChunk>;
    textGeneration: (params: HuggingFaceTextGenerationParams, options?: HuggingFaceRequestOptions) => Promise<HuggingFaceTextGenerationOutput>;
    textGenerationStream: (params: HuggingFaceTextGenerationParams, options?: HuggingFaceRequestOptions) => AsyncIterable<HuggingFaceTextGenerationStreamOutput>;
    featureExtraction: (params: HuggingFaceFeatureExtractionParams, options?: HuggingFaceRequestOptions) => Promise<HuggingFaceFeatureExtractionOutput>;
    endpoint?: (endpointUrl: string) => HuggingFaceClient;
    [key: string]: unknown;
}
interface HuggingFaceChatCompletionParams {
    messages?: unknown;
    model?: string;
    provider?: string;
    endpointUrl?: string;
    stream?: boolean;
    [key: string]: unknown;
}
interface HuggingFaceTextGenerationParams {
    inputs?: unknown;
    model?: string;
    provider?: string;
    endpointUrl?: string;
    stream?: boolean;
    parameters?: Record<string, unknown>;
    [key: string]: unknown;
}
interface HuggingFaceFeatureExtractionParams {
    inputs?: unknown;
    model?: string;
    provider?: string;
    endpointUrl?: string;
    dimensions?: number | null;
    encoding_format?: "float" | "base64";
    [key: string]: unknown;
}
interface HuggingFaceUsage {
    prompt_tokens?: number;
    completion_tokens?: number;
    total_tokens?: number;
    [key: string]: unknown;
}
interface HuggingFaceChatMessage {
    role?: string;
    content?: string | null | unknown[];
    tool_calls?: unknown;
    [key: string]: unknown;
}
interface HuggingFaceChatCompletionChoice {
    index?: number;
    message?: HuggingFaceChatMessage;
    delta?: HuggingFaceChatMessage;
    finish_reason?: string | null;
    [key: string]: unknown;
}
interface HuggingFaceChatCompletion {
    id?: string;
    object?: string;
    model?: string;
    created?: number;
    usage?: HuggingFaceUsage;
    choices?: HuggingFaceChatCompletionChoice[];
    [key: string]: unknown;
}
type HuggingFaceChatCompletionChunk = HuggingFaceChatCompletion;
interface HuggingFaceTextGenerationToken {
    id?: number;
    text?: string;
    logprob?: number;
    special?: boolean;
    [key: string]: unknown;
}
interface HuggingFaceTextGenerationDetails {
    finish_reason?: string | null;
    generated_tokens?: number;
    prefill?: HuggingFaceTextGenerationToken[];
    tokens?: HuggingFaceTextGenerationToken[];
    [key: string]: unknown;
}
interface HuggingFaceTextGenerationOutput {
    generated_text?: string | null;
    details?: HuggingFaceTextGenerationDetails | null;
    [key: string]: unknown;
}
interface HuggingFaceTextGenerationChoice {
    index?: number;
    text?: string;
    finish_reason?: string | null;
    [key: string]: unknown;
}
interface HuggingFaceTextGenerationStreamOutput {
    index?: number;
    token?: HuggingFaceTextGenerationToken;
    choices?: HuggingFaceTextGenerationChoice[];
    generated_text?: string | null;
    details?: HuggingFaceTextGenerationDetails | null;
    usage?: HuggingFaceUsage;
    model?: string;
    object?: string;
    created?: number;
    [key: string]: unknown;
}
type HuggingFaceFeatureExtractionOutput = number[] | number[][] | number[][][];

/**
 * Wrap a HuggingFace Inference SDK module or client with Braintrust tracing.
 *
 * Supports the LLM and embeddings APIs we intentionally instrument:
 * - chatCompletion
 * - chatCompletionStream
 * - textGeneration
 * - textGenerationStream
 * - featureExtraction
 */
declare function wrapHuggingFace(huggingFace: HuggingFaceModule): HuggingFaceModule;
declare function wrapHuggingFace(huggingFace: HuggingFaceClient): HuggingFaceClient;
declare function wrapHuggingFace<T>(huggingFace: T): T;

/**
 * Wrap an @openrouter/agent OpenRouter client so callModel() emits
 * diagnostics-channel events consumed by the OpenRouter Agent plugin.
 */
declare function wrapOpenRouterAgent<T extends object>(agent: T): T;

/**
 * Wrap an OpenRouter client (created with `new OpenRouter(...)`) so calls emit
 * diagnostics-channel events that Braintrust plugins can consume.
 */
declare function wrapOpenRouter<T>(openrouter: T): T;

/**
 * Wrap a Mistral client (created with `new Mistral(...)`) with Braintrust tracing.
 */
declare function wrapMistral<T>(mistral: T): T;

/**
 * Wrap a Cohere client so method calls emit diagnostics-channel events that
 * Braintrust plugins can consume.
 */
declare function wrapCohere<T>(cohere: T): T;

/**
 * Wrap a Groq client (created with `new Groq(...)`) with Braintrust tracing.
 */
declare function wrapGroq<T extends object>(groq: T): T;

/**
 * Wrap a CopilotClient instance (created with `new CopilotClient(...)`) with
 * Braintrust tracing.
 *
 * The wrapper intercepts `createSession` and `resumeSession` so that the same
 * plugin logic used by auto-instrumentation applies — session spans, turn
 * spans, LLM spans with token metrics, and tool spans are all produced.
 *
 * @example
 * ```ts
 * import { CopilotClient, approveAll } from "@github/copilot-sdk";
 * import { wrapCopilotClient } from "braintrust";
 *
 * const client = wrapCopilotClient(new CopilotClient());
 * const session = await client.createSession({
 *   model: "gpt-4.1",
 *   onPermissionRequest: approveAll,
 * });
 * ```
 */
declare function wrapCopilotClient<T extends object>(client: T): T;

type ScorerFunction<Output = unknown> = (args: {
    output: Output;
    expected?: unknown;
    input?: unknown;
    metadata?: Record<string, unknown>;
}) => Score | Promise<Score> | number | null | Array<Score>;
type ProgressEvent = {
    type: "suite_start";
    suiteName: string;
} | {
    type: "test_start";
    testName: string;
} | {
    type: "test_complete";
    testName: string;
    passed: boolean;
    duration: number;
} | {
    type: "suite_complete";
    suiteName: string;
    passed: number;
    failed: number;
};

interface BraintrustTestConfig {
    input?: unknown;
    expected?: unknown;
    metadata?: Record<string, unknown>;
    tags?: string[];
    scorers?: ScorerFunction[];
    data?: Array<{
        input?: unknown;
        expected?: unknown;
        metadata?: Record<string, unknown>;
        tags?: string[];
    }>;
}
interface TestConfig extends BraintrustTestConfig {
    [key: string]: unknown;
}
type WithModifiers<T> = T & {
    skip: T;
    only: T;
    concurrent: T;
    todo: (name: string) => void;
};
type TestContext = Pick<BraintrustTestConfig, "input" | "expected" | "metadata">;
type BaseTestFunction<VitestContext = unknown> = {
    (name: string, fn: (context: VitestContext) => void | Promise<void>): void;
    each?: <T>(cases: readonly T[]) => (name: string, fn: (context: T) => void | Promise<void>) => void;
};
type TestFunction<VitestContext = unknown> = WithModifiers<BaseTestFunction<VitestContext>>;
type BaseDescribeFunction = {
    (name: string, factory: () => void): void;
    each?: <T>(cases: readonly T[]) => (name: string, factory: () => void) => void;
};
type DescribeFunction = WithModifiers<BaseDescribeFunction>;
interface BaseWrappedTest<VitestContext = unknown> {
    (name: string, fn: (context: VitestContext) => unknown | Promise<unknown>): void;
    (name: string, config: TestConfig, fn: (context: TestContext & VitestContext) => unknown | Promise<unknown>): void;
    each: <T>(cases: readonly T[]) => (name: string, fn: (context: T & TestContext & VitestContext) => unknown | Promise<unknown>) => void;
}
type WrappedTest<VitestContext = unknown> = WithModifiers<BaseWrappedTest<VitestContext>>;
interface BaseWrappedDescribe {
    (name: string, factory: () => void): void;
    each: <T>(cases: readonly T[]) => (name: string, factory: () => void) => void;
}
type WrappedDescribe = WithModifiers<BaseWrappedDescribe>;
interface VitestMethods<VitestContext = unknown, ExpectType extends (...args: unknown[]) => unknown = (...args: unknown[]) => unknown> {
    test: TestFunction<VitestContext>;
    it?: TestFunction<VitestContext>;
    expect: ExpectType;
    describe: DescribeFunction;
    beforeAll?: (fn: () => void | Promise<void>) => void;
    afterAll?: (fn: () => void | Promise<void>) => void;
    beforeEach?: (fn: (context: VitestContext) => void | Promise<void>) => void;
    afterEach?: (fn: (context: VitestContext) => void | Promise<void>) => void;
}
interface BraintrustVitest<VitestContext = unknown, ExpectType extends (...args: unknown[]) => unknown = (...args: unknown[]) => unknown> {
    test: WrappedTest<VitestContext>;
    it: WrappedTest<VitestContext>;
    expect: ExpectType;
    describe: WrappedDescribe;
    beforeAll: (fn: () => void | Promise<void>) => void;
    afterAll: (fn: () => void | Promise<void>) => void;
    beforeEach?: (fn: (context: VitestContext) => void | Promise<void>) => void;
    afterEach?: (fn: (context: VitestContext) => void | Promise<void>) => void;
    logOutputs: (outputs: Record<string, unknown>) => void;
    logFeedback: (feedback: {
        name: string;
        score: number;
        metadata?: Record<string, unknown>;
    }) => void;
    getCurrentSpan: () => Span | null;
    /**
     * Helper function to flush the experiment and optionally display a summary.
     * Use this in afterAll() instead of manually calling getExperimentContext().
     *
     * @param options - Optional configuration
     * @param options.displaySummary - Whether to display the experiment summary (defaults to true)
     */
    flushExperiment: (options?: {
        displaySummary?: boolean;
    }) => Promise<void>;
}
interface WrapperConfig {
    projectName?: string;
    /**
     * The id of the project to create experiments in. Takes precedence over
     * `projectName` if both are set.
     */
    projectId?: string;
    /**
     * If true, displays a formatted experiment summary with scores and URL after the test suite completes.
     * Defaults to true. Set to false to suppress the summary output.
     */
    displaySummary?: boolean;
    /**
     * Callback for real-time progress events.
     * Called when tests start, complete, or progress updates occur.
     * Progress reporting is always enabled when this callback is provided.
     */
    onProgress?: (event: ProgressEvent) => void;
}

/**
 * Wraps Vitest methods with Braintrust experiment tracking. This automatically creates
 * datasets and experiments from your Vitest tests, tracking pass/fail rates and evaluation metrics.
 * Experiments are automatically flushed after all tests complete.
 *
 * @param vitestMethods - Object containing Vitest methods (test, describe, expect, etc.)
 * @param config - Optional configuration object
 * @param config.projectName - Project name for the experiment (defaults to suite name)
 * @param config.displaySummary - If true, displays experiment summary after flushing (defaults to true)
 * @returns Wrapped Vitest methods with Braintrust experiment tracking
 *
 * @example Basic Usage
 * ```typescript
 * import * as vitest from "vitest";
 * import { wrapVitest } from 'braintrust';
 *
 * const {test, expect, describe } = wrapVitest(
 *   { projectName: 'my-project' }
 * );
 *
 * describe('Translation Tests', () => {
 *
 *   // Tests with input/expected are automatically added to the dataset
 *   test(
 *     'translates hello',
 *     {
 *       input: { text: 'hello' },
 *       expected: 'hola',
 *       metadata: { language: 'spanish' },
 *     },
 *     async ({ input, expected }) => {
 *       const result = await translate(input.text);
 *       bt.logOutputs({ translation: result });
 *       expect(result).toBe(expected);
 *     }
 *   );
 *
 *   // Tests without input/expected still run and track pass/fail
 *   test('basic functionality', async () => {
 *     const result = await someFunction();
 *     expect(result).toBeTruthy();
 *   });
 * });
 * ```
 *
 * @see README.md for full documentation and examples
 */
declare function wrapVitest<VitestContext = unknown, ExpectType extends (...args: unknown[]) => unknown = (...args: unknown[]) => unknown>(vitestMethods: VitestMethods<VitestContext, ExpectType>, config?: WrapperConfig): BraintrustVitest<VitestContext, ExpectType>;

/** Progress events emitted by the node-test integration. */
type NodeTestProgressEvent = {
    type: "test_start";
    testName: string;
} | {
    type: "test_complete";
    testName: string;
    passed: boolean;
    duration: number;
};
/**
 * Minimal test context interface compatible with node:test's TestContext.
 * We only use `name` from the context, making this compatible with any
 * test runner that provides a `{ name?: string }` context object.
 */
interface MinimalTestContext {
    name?: string;
}
/**
 * Configuration for `initNodeTestSuite()`.
 */
interface NodeTestSuiteConfig {
    /** Project name for the Braintrust experiment. */
    projectName: string;
    /** Optional experiment name. Defaults to a timestamp-based name. */
    experimentName?: string;
    /**
     * If true, displays a formatted experiment summary after flushing.
     * Defaults to true.
     */
    displaySummary?: boolean;
    /**
     * Pass `after` from `node:test` to auto-register a flush hook.
     * When provided, `suite.flush()` is called automatically after all tests.
     */
    after?: (fn: () => void | Promise<void>) => void;
    /**
     * Callback for real-time progress events.
     * Emits `test_start` and `test_complete` events.
     */
    onProgress?: (event: NodeTestProgressEvent) => void;
}
/**
 * Configuration for a single eval test case.
 */
interface EvalConfig {
    /** Test input data, logged to the span. */
    input?: unknown;
    /** Expected output, passed to scorers. */
    expected?: unknown;
    /** Custom metadata, logged to the span. */
    metadata?: Record<string, unknown>;
    /** Tags for organizing test cases. */
    tags?: string[];
    /** Scorer functions to evaluate the output. */
    scorers?: ScorerFunction[];
    /** Override span name (defaults to `t.name`, then `"unnamed test"`). */
    name?: string;
}
/**
 * Context passed to the eval test function.
 */
interface EvalContext {
    input: unknown;
    expected?: unknown;
    metadata?: Record<string, unknown>;
}
/**
 * The public API surface returned by `initNodeTestSuite()`.
 */
interface NodeTestSuite {
    /**
     * Creates a test function compatible with `node:test`.
     * Pass the result to `test()` from `node:test`.
     *
     * @param config - Eval configuration (input, expected, scorers, etc.)
     * @param fn - The test function. Its return value is logged as output and passed to scorers.
     * @returns A function accepting a test context `t` from `node:test`.
     */
    eval(config: EvalConfig, fn: (context: EvalContext) => unknown | Promise<unknown>): (t: MinimalTestContext) => Promise<void>;
    /**
     * Flush the experiment: summarize results and send data to Braintrust.
     * Called automatically if `after` was provided in the config.
     */
    flush(): Promise<void>;
}

/**
 * Creates a new Node.js test suite with Braintrust experiment tracking.
 *
 * @example
 * ```typescript
 * import { test, describe, after } from 'node:test';
 * import { initNodeTestSuite } from 'braintrust';
 *
 * describe('My Tests', () => {
 *   const suite = initNodeTestSuite({ projectName: 'my-project', after });
 *
 *   test('my eval', suite.eval(
 *     { input: 'hello', expected: 'world', scorers: [myScorer] },
 *     async ({ input }) => {
 *       return await myFunction(input);
 *     }
 *   ));
 * });
 * ```
 */
declare function initNodeTestSuite(config: NodeTestSuiteConfig): NodeTestSuite;

type LangChainSerialized = {
    id?: unknown[];
    name?: string;
};
type LangChainCallbackHandlerOptions<IsAsyncFlush extends boolean> = {
    debug: boolean;
    excludeMetadataProps: RegExp;
    logger?: Logger<IsAsyncFlush> | Span;
    parent?: Span | (() => Span);
};
type LangChainStartSpanArgs = StartSpanArgs & {
    parentRunId?: string;
    runId: string;
};
type LangChainEndSpanArgs = ExperimentLogPartialArgs & {
    parentRunId?: string;
    runId: string;
    tags?: string[];
};
type LangChainLLMResult = {
    generations?: unknown[];
    llmOutput?: Record<string, unknown>;
};

declare const BRAINTRUST_LANGCHAIN_CALLBACK_HANDLER_NAME = "BraintrustCallbackHandler";
declare class BraintrustLangChainCallbackHandler<IsAsyncFlush extends boolean = true> {
    name: string;
    private spans;
    private skippedRuns;
    private parent?;
    private rootRunId?;
    private options;
    private startTimes;
    private firstTokenTimes;
    private ttftMs;
    constructor(options?: Partial<LangChainCallbackHandlerOptions<IsAsyncFlush>>);
    protected startSpan({ runId, parentRunId, ...args }: LangChainStartSpanArgs): void;
    protected endSpan({ runId, parentRunId, tags, metadata, ...args }: LangChainEndSpanArgs): void;
    handleLLMStart(llm: LangChainSerialized, prompts: string[], runId: string, parentRunId?: string, extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
    handleLLMError(err: Error, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
    handleLLMEnd(output: LangChainLLMResult, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
    handleChatModelStart(llm: LangChainSerialized, messages: unknown[][], runId: string, parentRunId?: string, extraParams?: Record<string, unknown>, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
    handleChainStart(chain: LangChainSerialized, inputs: unknown, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runType?: string, runName?: string): Promise<void>;
    handleChainError(err: Error, runId: string, parentRunId?: string, tags?: string[], kwargs?: {
        inputs?: Record<string, unknown>;
    }): Promise<void>;
    handleChainEnd(outputs: unknown, runId: string, parentRunId?: string, tags?: string[], kwargs?: {
        inputs?: Record<string, unknown>;
    }): Promise<void>;
    handleToolStart(tool: LangChainSerialized, input: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, runName?: string): Promise<void>;
    handleToolError(err: Error, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
    handleToolEnd(output: unknown, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
    handleAgentAction(action: Record<string, unknown>, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
    handleAgentEnd(action: unknown, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
    handleRetrieverStart(retriever: LangChainSerialized, query: string, runId: string, parentRunId?: string, tags?: string[], metadata?: Record<string, unknown>, name?: string): Promise<void>;
    handleRetrieverEnd(documents: unknown[], runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
    handleRetrieverError(err: Error, runId: string, parentRunId?: string, tags?: string[]): Promise<void>;
    handleLLMNewToken(_token: string, _idx: {
        prompt: number;
        completion: number;
    }, runId: string, _parentRunId?: string, _tags?: string[]): Promise<void>;
}

interface BuildContext {
    getFunctionId(functionObj: unknown): Promise<FunctionIdType>;
}
interface Node {
    readonly id: string;
    __type: "node";
    build(context: BuildContext): Promise<GraphNodeType>;
    addDependency(dependency: Dependency): void;
}
type NodeLike = Node | Prompt<boolean, boolean> | ProxyVariable;
type LazyGraphNode = {
    type: "lazy";
    id: string;
};
declare class GraphBuilder {
    private nodes;
    private edges;
    private nodeLikeNodes;
    readonly IN: InputNode;
    readonly OUT: OutputNode;
    constructor();
    build(context: BuildContext): Promise<GraphDataType>;
    addEdge({ source, sourceVar, target, targetVar, expr, purpose, }: {
        source: NodeLike;
        sourceVar?: string;
        target: NodeLike;
        targetVar?: string;
        expr?: string;
        purpose: GraphEdgeType["purpose"];
    }): void;
    resolveNode(node: NodeLike): [Node, string[]];
    literal<T>(value: T): LiteralNode<T>;
    gate(options: {
        condition: string;
    }): GateNode;
    aggregator(): AggregatorNode;
    promptTemplate(options: {
        prompt: PromptBlockDataType;
    }): PromptTemplateNode;
    private generateId;
    private createInputNode;
    private createOutputNode;
    private createPromptNode;
}
type ProxyVariable = {
    [key: string]: ProxyVariable;
};
type TransformFn = (input: ProxyVariable) => Node;
interface Dependency {
    node: Node;
    sourceVar?: string;
    targetVar?: string;
    expr?: string;
}
declare abstract class BaseNode implements Node {
    protected graph: GraphBuilder;
    readonly id: string;
    readonly __type = "node";
    dependencies: Dependency[];
    constructor(graph: GraphBuilder, id: string);
    addDependency(dependency: Dependency): void;
    abstract build(context: BuildContext): Promise<GraphNodeType>;
}
declare class InputNode extends BaseNode implements Node {
    constructor(graph: GraphBuilder, id: string);
    build(context: BuildContext): Promise<GraphNodeType>;
}
declare class OutputNode extends BaseNode implements Node {
    constructor(graph: GraphBuilder, id: string);
    build(context: BuildContext): Promise<GraphNodeType>;
}
declare class PromptNode extends BaseNode implements Node {
    private prompt;
    constructor(graph: GraphBuilder, id: string, prompt: Prompt);
    build(context: BuildContext): Promise<GraphNodeType>;
}
declare class GateNode extends BaseNode implements Node {
    private condition;
    constructor(graph: GraphBuilder, id: string, condition: string);
    build(context: BuildContext): Promise<GraphNodeType>;
}
declare class AggregatorNode extends BaseNode implements Node {
    constructor(graph: GraphBuilder, id: string);
    build(context: BuildContext): Promise<GraphNodeType>;
}
declare class PromptTemplateNode extends BaseNode implements Node {
    private prompt;
    constructor(graph: GraphBuilder, id: string, prompt: PromptBlockDataType);
    build(context: BuildContext): Promise<GraphNodeType>;
}
declare class LiteralNode<T> extends BaseNode implements Node {
    private value;
    constructor(graph: GraphBuilder, id: string, value: T);
    build(context: BuildContext): Promise<GraphNodeType>;
}
declare function createGraph(): GraphBuilder;
declare function escapePath(parts: string[]): string | undefined;
declare function unescapePath(path: string): string[];
declare const _default: {
    createGraph: typeof createGraph;
};

type graphFramework_AggregatorNode = AggregatorNode;
declare const graphFramework_AggregatorNode: typeof AggregatorNode;
type graphFramework_BuildContext = BuildContext;
type graphFramework_GateNode = GateNode;
declare const graphFramework_GateNode: typeof GateNode;
type graphFramework_GraphBuilder = GraphBuilder;
declare const graphFramework_GraphBuilder: typeof GraphBuilder;
type graphFramework_InputNode = InputNode;
declare const graphFramework_InputNode: typeof InputNode;
type graphFramework_LazyGraphNode = LazyGraphNode;
type graphFramework_LiteralNode<T> = LiteralNode<T>;
declare const graphFramework_LiteralNode: typeof LiteralNode;
type graphFramework_Node = Node;
type graphFramework_NodeLike = NodeLike;
type graphFramework_OutputNode = OutputNode;
declare const graphFramework_OutputNode: typeof OutputNode;
type graphFramework_PromptNode = PromptNode;
declare const graphFramework_PromptNode: typeof PromptNode;
type graphFramework_PromptTemplateNode = PromptTemplateNode;
declare const graphFramework_PromptTemplateNode: typeof PromptTemplateNode;
type graphFramework_ProxyVariable = ProxyVariable;
type graphFramework_TransformFn = TransformFn;
declare const graphFramework_createGraph: typeof createGraph;
declare const graphFramework_escapePath: typeof escapePath;
declare const graphFramework_unescapePath: typeof unescapePath;
declare namespace graphFramework {
  export { graphFramework_AggregatorNode as AggregatorNode, type graphFramework_BuildContext as BuildContext, graphFramework_GateNode as GateNode, graphFramework_GraphBuilder as GraphBuilder, graphFramework_InputNode as InputNode, type graphFramework_LazyGraphNode as LazyGraphNode, graphFramework_LiteralNode as LiteralNode, type graphFramework_Node as Node, type graphFramework_NodeLike as NodeLike, graphFramework_OutputNode as OutputNode, graphFramework_PromptNode as PromptNode, graphFramework_PromptTemplateNode as PromptTemplateNode, type graphFramework_ProxyVariable as ProxyVariable, type graphFramework_TransformFn as TransformFn, graphFramework_createGraph as createGraph, _default as default, graphFramework_escapePath as escapePath, graphFramework_unescapePath as unescapePath };
}

type GenericFunction<Input, Output> = ((input: Input) => Output) | ((input: Input) => Promise<Output>);
interface BaseFnOpts {
    name: string;
    slug: string;
    description: string;
    ifExists: IfExistsType;
    tags?: string[];
    metadata?: Record<string, unknown>;
}

interface TraceOptions {
    objectType: "experiment" | "project_logs" | "playground_logs";
    objectId: string;
    rootSpanId: string;
    ensureSpansFlushed?: () => Promise<void>;
    state: BraintrustState;
}
type SpanRecord = any;
/**
 * Fetcher for spans by root_span_id, using the ObjectFetcher pattern.
 * Handles pagination automatically via cursor-based iteration.
 */
declare class SpanFetcher extends ObjectFetcher<SpanRecord> {
    private readonly _objectId;
    private readonly rootSpanId;
    private readonly _state;
    private readonly spanTypeFilter?;
    constructor(objectType: "experiment" | "project_logs" | "playground_logs", _objectId: string, rootSpanId: string, _state: BraintrustState, spanTypeFilter?: string[] | undefined, includeScorers?: boolean);
    private static buildFilter;
    get id(): Promise<string>;
    protected getState(): Promise<BraintrustState>;
}
/**
 * Span data returned by getSpans().
 */
interface SpanData {
    input?: unknown;
    output?: unknown;
    metadata?: Record<string, unknown>;
    span_id?: string;
    span_parents?: string[];
    span_attributes?: {
        type?: string;
        name?: string;
        [key: string]: unknown;
    };
    [key: string]: unknown;
}
/** Function signature for fetching spans by type */
type SpanFetchFn = (spanType: string[] | undefined) => Promise<SpanData[]>;
/**
 * Cached span fetcher that handles fetching and caching spans by type.
 *
 * Caching strategy:
 * - Cache spans by span type (Map<spanType, SpanData[]>)
 * - Track if all spans have been fetched (allFetched flag)
 * - When filtering by spanType, only fetch types not already in cache
 */
declare class CachedSpanFetcher {
    private spanCache;
    private allFetched;
    private fetchFn;
    constructor(objectType: "experiment" | "project_logs" | "playground_logs", objectId: string, rootSpanId: string, getState: () => Promise<BraintrustState>);
    constructor(fetchFn: SpanFetchFn);
    getSpans({ spanType, includeScorers, }?: {
        spanType?: string[];
        includeScorers?: boolean;
    }): Promise<SpanData[]>;
    private fetchSpans;
    private getFromCache;
}
/**
 * Options for getThread().
 */
interface GetThreadOptions {
    /**
     * The preprocessor to use for extracting the thread.
     * If not specified, uses the project default preprocessor,
     * falling back to the global "thread" preprocessor.
     */
    preprocessor?: string;
}
interface GetSpansOptions {
    spanType?: string[];
    includeScorers?: boolean;
}
/**
 * Interface for trace objects that can be used by scorers.
 * Both the SDK's LocalTrace class and the API wrapper's WrapperTrace implement this.
 */
interface Trace {
    getConfiguration(): {
        object_type: string;
        object_id: string;
        root_span_id: string;
    };
    getSpans(options?: GetSpansOptions): Promise<SpanData[]>;
    /**
     * Get the thread (preprocessed messages) for this trace.
     * Uses the project default preprocessor, falling back to the global "thread" preprocessor.
     * @param options Options for the thread extraction.
     * @returns The preprocessed thread as an array of messages.
     */
    getThread(options?: GetThreadOptions): Promise<unknown[]>;
}
/**
 * SDK implementation of Trace that uses local span cache and falls back to BTQL.
 * Carries identifying information about the evaluation so scorers can perform
 * richer logging or side effects.
 */
declare class LocalTrace implements Trace {
    private readonly objectType;
    private readonly objectId;
    private readonly rootSpanId;
    private readonly ensureSpansFlushed?;
    private readonly state;
    private spansFlushed;
    private spansFlushPromise;
    private cachedFetcher;
    private threadCache;
    constructor({ objectType, objectId, rootSpanId, ensureSpansFlushed, state, }: TraceOptions);
    getConfiguration(): {
        object_type: "experiment" | "project_logs" | "playground_logs";
        object_id: string;
        root_span_id: string;
    };
    /**
     * Custom JSON serialization - returns trace_ref format so LocalTrace
     * can be safely passed through JSON.stringify() (e.g., in invoke()).
     */
    toJSON(): {
        trace_ref: {
            object_type: "experiment" | "project_logs" | "playground_logs";
            object_id: string;
            root_span_id: string;
        };
    };
    /**
     * Fetch all rows for this root span from its parent object (experiment or project logs).
     * First checks the local span cache for recently logged spans, then falls
     * back to CachedSpanFetcher which handles BTQL fetching and caching.
     */
    getSpans({ spanType, includeScorers, }?: GetSpansOptions): Promise<SpanData[]>;
    /**
     * Get the thread (preprocessed messages) for this trace.
     * Calls the API with the project_default preprocessor (which falls back to "thread").
     */
    getThread(options?: GetThreadOptions): Promise<unknown[]>;
    private fetchThread;
    private ensureSpansReady;
}

declare const promptContentsSchema: z.ZodUnion<[z.ZodObject<{
    prompt: z.ZodString;
}, "strip", z.ZodTypeAny, {
    prompt: string;
}, {
    prompt: string;
}>, z.ZodObject<{
    messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"system">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "system";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }, {
        role: "system";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, z.ZodObject<{
            image_url: z.ZodObject<{
                url: z.ZodString;
                detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
            }, "strip", z.ZodTypeAny, {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            }, {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            }>;
            type: z.ZodLiteral<"image_url">;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        }>, z.ZodObject<{
            file: z.ZodObject<{
                file_data: z.ZodOptional<z.ZodString>;
                filename: z.ZodOptional<z.ZodString>;
                file_id: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            }, {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            }>;
            type: z.ZodLiteral<"file">;
        }, "strip", z.ZodTypeAny, {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        }, {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        }>]>, "many">]>;
        role: z.ZodLiteral<"user">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "user";
        content: string | ({
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    }, {
        role: "user";
        content: string | ({
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    }>, z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">, z.ZodNull]>>;
        function_call: z.ZodOptional<z.ZodObject<{
            arguments: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            arguments: string;
        }, {
            name: string;
            arguments: string;
        }>>;
        name: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            function: z.ZodObject<{
                arguments: z.ZodString;
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                arguments: string;
            }, {
                name: string;
                arguments: string;
            }>;
            type: z.ZodLiteral<"function">;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }>, "many">>;
        reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            content: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            content?: string | undefined;
        }, {
            id?: string | undefined;
            content?: string | undefined;
        }>, "many">>;
        reasoning_signature: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    }, {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"tool">;
        tool_call_id: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "tool";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id: string;
    }, {
        role: "tool";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
        name: z.ZodString;
        role: z.ZodLiteral<"function">;
    }, "strip", z.ZodTypeAny, {
        role: "function";
        name: string;
        content: string | null;
    }, {
        role: "function";
        name: string;
        content: string | null;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"developer">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "developer";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }, {
        role: "developer";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }>, z.ZodObject<{
        role: z.ZodLiteral<"model">;
        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        role: "model";
        content?: string | null | undefined;
    }, {
        role: "model";
        content?: string | null | undefined;
    }>]>, "many">;
}, "strip", z.ZodTypeAny, {
    messages: ({
        role: "system";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "user";
        content: string | ({
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    } | {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    } | {
        role: "tool";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id: string;
    } | {
        role: "function";
        name: string;
        content: string | null;
    } | {
        role: "developer";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "model";
        content?: string | null | undefined;
    })[];
}, {
    messages: ({
        role: "system";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "user";
        content: string | ({
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    } | {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    } | {
        role: "tool";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id?: string | undefined;
    } | {
        role: "function";
        name: string;
        content: string | null;
    } | {
        role: "developer";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "model";
        content?: string | null | undefined;
    })[];
}>]>;
type PromptContents = z.infer<typeof promptContentsSchema>;
declare const promptDefinitionSchema: z.ZodIntersection<z.ZodUnion<[z.ZodObject<{
    prompt: z.ZodString;
}, "strip", z.ZodTypeAny, {
    prompt: string;
}, {
    prompt: string;
}>, z.ZodObject<{
    messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"system">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "system";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }, {
        role: "system";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, z.ZodObject<{
            image_url: z.ZodObject<{
                url: z.ZodString;
                detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
            }, "strip", z.ZodTypeAny, {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            }, {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            }>;
            type: z.ZodLiteral<"image_url">;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        }>, z.ZodObject<{
            file: z.ZodObject<{
                file_data: z.ZodOptional<z.ZodString>;
                filename: z.ZodOptional<z.ZodString>;
                file_id: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            }, {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            }>;
            type: z.ZodLiteral<"file">;
        }, "strip", z.ZodTypeAny, {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        }, {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        }>]>, "many">]>;
        role: z.ZodLiteral<"user">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "user";
        content: string | ({
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    }, {
        role: "user";
        content: string | ({
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    }>, z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">, z.ZodNull]>>;
        function_call: z.ZodOptional<z.ZodObject<{
            arguments: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            arguments: string;
        }, {
            name: string;
            arguments: string;
        }>>;
        name: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            function: z.ZodObject<{
                arguments: z.ZodString;
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                arguments: string;
            }, {
                name: string;
                arguments: string;
            }>;
            type: z.ZodLiteral<"function">;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }>, "many">>;
        reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            content: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            content?: string | undefined;
        }, {
            id?: string | undefined;
            content?: string | undefined;
        }>, "many">>;
        reasoning_signature: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    }, {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"tool">;
        tool_call_id: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "tool";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id: string;
    }, {
        role: "tool";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
        name: z.ZodString;
        role: z.ZodLiteral<"function">;
    }, "strip", z.ZodTypeAny, {
        role: "function";
        name: string;
        content: string | null;
    }, {
        role: "function";
        name: string;
        content: string | null;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"developer">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "developer";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }, {
        role: "developer";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }>, z.ZodObject<{
        role: z.ZodLiteral<"model">;
        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        role: "model";
        content?: string | null | undefined;
    }, {
        role: "model";
        content?: string | null | undefined;
    }>]>, "many">;
}, "strip", z.ZodTypeAny, {
    messages: ({
        role: "system";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "user";
        content: string | ({
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    } | {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    } | {
        role: "tool";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id: string;
    } | {
        role: "function";
        name: string;
        content: string | null;
    } | {
        role: "developer";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "model";
        content?: string | null | undefined;
    })[];
}, {
    messages: ({
        role: "system";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "user";
        content: string | ({
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    } | {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    } | {
        role: "tool";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id?: string | undefined;
    } | {
        role: "function";
        name: string;
        content: string | null;
    } | {
        role: "developer";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "model";
        content?: string | null | undefined;
    })[];
}>]>, z.ZodObject<{
    model: z.ZodString;
    params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        top_p: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodOptional<z.ZodNumber>;
        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
        frequency_penalty: z.ZodOptional<z.ZodNumber>;
        presence_penalty: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"json_object">;
        }, "strip", z.ZodTypeAny, {
            type: "json_object";
        }, {
            type: "json_object";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"json_schema">;
            json_schema: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"text">;
        }, "strip", z.ZodTypeAny, {
            type: "text";
        }, {
            type: "text";
        }>, z.ZodNull]>>;
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
            };
            type: "function";
        }, {
            function: {
                name: string;
            };
            type: "function";
        }>]>>;
        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>]>>;
        n: z.ZodOptional<z.ZodNumber>;
        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        top_p: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodOptional<z.ZodNumber>;
        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
        frequency_penalty: z.ZodOptional<z.ZodNumber>;
        presence_penalty: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"json_object">;
        }, "strip", z.ZodTypeAny, {
            type: "json_object";
        }, {
            type: "json_object";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"json_schema">;
            json_schema: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"text">;
        }, "strip", z.ZodTypeAny, {
            type: "text";
        }, {
            type: "text";
        }>, z.ZodNull]>>;
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
            };
            type: "function";
        }, {
            function: {
                name: string;
            };
            type: "function";
        }>]>>;
        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>]>>;
        n: z.ZodOptional<z.ZodNumber>;
        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        top_p: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodOptional<z.ZodNumber>;
        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
        frequency_penalty: z.ZodOptional<z.ZodNumber>;
        presence_penalty: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"json_object">;
        }, "strip", z.ZodTypeAny, {
            type: "json_object";
        }, {
            type: "json_object";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"json_schema">;
            json_schema: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"text">;
        }, "strip", z.ZodTypeAny, {
            type: "text";
        }, {
            type: "text";
        }>, z.ZodNull]>>;
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
            };
            type: "function";
        }, {
            function: {
                name: string;
            };
            type: "function";
        }>]>>;
        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>]>>;
        n: z.ZodOptional<z.ZodNumber>;
        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodNumber;
        temperature: z.ZodNumber;
        top_p: z.ZodOptional<z.ZodNumber>;
        top_k: z.ZodOptional<z.ZodNumber>;
        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodNumber;
        temperature: z.ZodNumber;
        top_p: z.ZodOptional<z.ZodNumber>;
        top_k: z.ZodOptional<z.ZodNumber>;
        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodNumber;
        temperature: z.ZodNumber;
        top_p: z.ZodOptional<z.ZodNumber>;
        top_k: z.ZodOptional<z.ZodNumber>;
        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">>]>>;
    templateFormat: z.ZodOptional<z.ZodEnum<["mustache", "nunjucks", "none"]>>;
    environments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    model: string;
    params?: z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        top_p: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodOptional<z.ZodNumber>;
        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
        frequency_penalty: z.ZodOptional<z.ZodNumber>;
        presence_penalty: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"json_object">;
        }, "strip", z.ZodTypeAny, {
            type: "json_object";
        }, {
            type: "json_object";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"json_schema">;
            json_schema: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"text">;
        }, "strip", z.ZodTypeAny, {
            type: "text";
        }, {
            type: "text";
        }>, z.ZodNull]>>;
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
            };
            type: "function";
        }, {
            function: {
                name: string;
            };
            type: "function";
        }>]>>;
        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>]>>;
        n: z.ZodOptional<z.ZodNumber>;
        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodNumber;
        temperature: z.ZodNumber;
        top_p: z.ZodOptional<z.ZodNumber>;
        top_k: z.ZodOptional<z.ZodNumber>;
        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    templateFormat?: "none" | "mustache" | "nunjucks" | undefined;
    environments?: string[] | undefined;
}, {
    model: string;
    params?: z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        top_p: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodOptional<z.ZodNumber>;
        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
        frequency_penalty: z.ZodOptional<z.ZodNumber>;
        presence_penalty: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"json_object">;
        }, "strip", z.ZodTypeAny, {
            type: "json_object";
        }, {
            type: "json_object";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"json_schema">;
            json_schema: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"text">;
        }, "strip", z.ZodTypeAny, {
            type: "text";
        }, {
            type: "text";
        }>, z.ZodNull]>>;
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
            };
            type: "function";
        }, {
            function: {
                name: string;
            };
            type: "function";
        }>]>>;
        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>]>>;
        n: z.ZodOptional<z.ZodNumber>;
        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodNumber;
        temperature: z.ZodNumber;
        top_p: z.ZodOptional<z.ZodNumber>;
        top_k: z.ZodOptional<z.ZodNumber>;
        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    templateFormat?: "none" | "mustache" | "nunjucks" | undefined;
    environments?: string[] | undefined;
}>>;
type PromptDefinition = z.infer<typeof promptDefinitionSchema>;
declare const promptDefinitionWithToolsSchema: z.ZodIntersection<z.ZodIntersection<z.ZodUnion<[z.ZodObject<{
    prompt: z.ZodString;
}, "strip", z.ZodTypeAny, {
    prompt: string;
}, {
    prompt: string;
}>, z.ZodObject<{
    messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"system">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "system";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }, {
        role: "system";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, z.ZodObject<{
            image_url: z.ZodObject<{
                url: z.ZodString;
                detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
            }, "strip", z.ZodTypeAny, {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            }, {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            }>;
            type: z.ZodLiteral<"image_url">;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        }>, z.ZodObject<{
            file: z.ZodObject<{
                file_data: z.ZodOptional<z.ZodString>;
                filename: z.ZodOptional<z.ZodString>;
                file_id: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            }, {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            }>;
            type: z.ZodLiteral<"file">;
        }, "strip", z.ZodTypeAny, {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        }, {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        }>]>, "many">]>;
        role: z.ZodLiteral<"user">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "user";
        content: string | ({
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    }, {
        role: "user";
        content: string | ({
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    }>, z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">, z.ZodNull]>>;
        function_call: z.ZodOptional<z.ZodObject<{
            arguments: z.ZodString;
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
            arguments: string;
        }, {
            name: string;
            arguments: string;
        }>>;
        name: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            function: z.ZodObject<{
                arguments: z.ZodString;
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
                arguments: string;
            }, {
                name: string;
                arguments: string;
            }>;
            type: z.ZodLiteral<"function">;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }>, "many">>;
        reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
            id: z.ZodOptional<z.ZodString>;
            content: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            id?: string | undefined;
            content?: string | undefined;
        }, {
            id?: string | undefined;
            content?: string | undefined;
        }>, "many">>;
        reasoning_signature: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    }, {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"tool">;
        tool_call_id: z.ZodDefault<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "tool";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id: string;
    }, {
        role: "tool";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id?: string | undefined;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
        name: z.ZodString;
        role: z.ZodLiteral<"function">;
    }, "strip", z.ZodTypeAny, {
        role: "function";
        name: string;
        content: string | null;
    }, {
        role: "function";
        name: string;
        content: string | null;
    }>, z.ZodObject<{
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
            text: z.ZodDefault<z.ZodString>;
            type: z.ZodLiteral<"text">;
            cache_control: z.ZodOptional<z.ZodObject<{
                type: z.ZodLiteral<"ephemeral">;
            }, "strip", z.ZodTypeAny, {
                type: "ephemeral";
            }, {
                type: "ephemeral";
            }>>;
        }, "strip", z.ZodTypeAny, {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }, {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }>, "many">]>;
        role: z.ZodLiteral<"developer">;
        name: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        role: "developer";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }, {
        role: "developer";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    }>, z.ZodObject<{
        role: z.ZodLiteral<"model">;
        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        role: "model";
        content?: string | null | undefined;
    }, {
        role: "model";
        content?: string | null | undefined;
    }>]>, "many">;
}, "strip", z.ZodTypeAny, {
    messages: ({
        role: "system";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "user";
        content: string | ({
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    } | {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    } | {
        role: "tool";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id: string;
    } | {
        role: "function";
        name: string;
        content: string | null;
    } | {
        role: "developer";
        content: string | {
            type: "text";
            text: string;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "model";
        content?: string | null | undefined;
    })[];
}, {
    messages: ({
        role: "system";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "user";
        content: string | ({
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        } | {
            type: "image_url";
            image_url: {
                url: string;
                detail?: "auto" | "low" | "high" | undefined;
            };
        } | {
            type: "file";
            file: {
                filename?: string | undefined;
                file_data?: string | undefined;
                file_id?: string | undefined;
            };
        })[];
        name?: string | undefined;
    } | {
        role: "assistant";
        name?: string | undefined;
        function_call?: {
            name: string;
            arguments: string;
        } | undefined;
        content?: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[] | null | undefined;
        tool_calls?: {
            function: {
                name: string;
                arguments: string;
            };
            type: "function";
            id: string;
        }[] | undefined;
        reasoning?: {
            id?: string | undefined;
            content?: string | undefined;
        }[] | undefined;
        reasoning_signature?: string | undefined;
    } | {
        role: "tool";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        tool_call_id?: string | undefined;
    } | {
        role: "function";
        name: string;
        content: string | null;
    } | {
        role: "developer";
        content: string | {
            type: "text";
            text?: string | undefined;
            cache_control?: {
                type: "ephemeral";
            } | undefined;
        }[];
        name?: string | undefined;
    } | {
        role: "model";
        content?: string | null | undefined;
    })[];
}>]>, z.ZodObject<{
    model: z.ZodString;
    params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        top_p: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodOptional<z.ZodNumber>;
        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
        frequency_penalty: z.ZodOptional<z.ZodNumber>;
        presence_penalty: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"json_object">;
        }, "strip", z.ZodTypeAny, {
            type: "json_object";
        }, {
            type: "json_object";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"json_schema">;
            json_schema: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"text">;
        }, "strip", z.ZodTypeAny, {
            type: "text";
        }, {
            type: "text";
        }>, z.ZodNull]>>;
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
            };
            type: "function";
        }, {
            function: {
                name: string;
            };
            type: "function";
        }>]>>;
        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>]>>;
        n: z.ZodOptional<z.ZodNumber>;
        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        top_p: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodOptional<z.ZodNumber>;
        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
        frequency_penalty: z.ZodOptional<z.ZodNumber>;
        presence_penalty: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"json_object">;
        }, "strip", z.ZodTypeAny, {
            type: "json_object";
        }, {
            type: "json_object";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"json_schema">;
            json_schema: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"text">;
        }, "strip", z.ZodTypeAny, {
            type: "text";
        }, {
            type: "text";
        }>, z.ZodNull]>>;
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
            };
            type: "function";
        }, {
            function: {
                name: string;
            };
            type: "function";
        }>]>>;
        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>]>>;
        n: z.ZodOptional<z.ZodNumber>;
        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        top_p: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodOptional<z.ZodNumber>;
        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
        frequency_penalty: z.ZodOptional<z.ZodNumber>;
        presence_penalty: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"json_object">;
        }, "strip", z.ZodTypeAny, {
            type: "json_object";
        }, {
            type: "json_object";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"json_schema">;
            json_schema: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"text">;
        }, "strip", z.ZodTypeAny, {
            type: "text";
        }, {
            type: "text";
        }>, z.ZodNull]>>;
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
            };
            type: "function";
        }, {
            function: {
                name: string;
            };
            type: "function";
        }>]>>;
        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>]>>;
        n: z.ZodOptional<z.ZodNumber>;
        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodNumber;
        temperature: z.ZodNumber;
        top_p: z.ZodOptional<z.ZodNumber>;
        top_k: z.ZodOptional<z.ZodNumber>;
        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodNumber;
        temperature: z.ZodNumber;
        top_p: z.ZodOptional<z.ZodNumber>;
        top_k: z.ZodOptional<z.ZodNumber>;
        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodNumber;
        temperature: z.ZodNumber;
        top_p: z.ZodOptional<z.ZodNumber>;
        top_k: z.ZodOptional<z.ZodNumber>;
        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough">>]>>;
    templateFormat: z.ZodOptional<z.ZodEnum<["mustache", "nunjucks", "none"]>>;
    environments: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    model: string;
    params?: z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        top_p: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodOptional<z.ZodNumber>;
        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
        frequency_penalty: z.ZodOptional<z.ZodNumber>;
        presence_penalty: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"json_object">;
        }, "strip", z.ZodTypeAny, {
            type: "json_object";
        }, {
            type: "json_object";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"json_schema">;
            json_schema: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"text">;
        }, "strip", z.ZodTypeAny, {
            type: "text";
        }, {
            type: "text";
        }>, z.ZodNull]>>;
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
            };
            type: "function";
        }, {
            function: {
                name: string;
            };
            type: "function";
        }>]>>;
        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>]>>;
        n: z.ZodOptional<z.ZodNumber>;
        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodNumber;
        temperature: z.ZodNumber;
        top_p: z.ZodOptional<z.ZodNumber>;
        top_k: z.ZodOptional<z.ZodNumber>;
        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    templateFormat?: "none" | "mustache" | "nunjucks" | undefined;
    environments?: string[] | undefined;
}, {
    model: string;
    params?: z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        top_p: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodOptional<z.ZodNumber>;
        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
        frequency_penalty: z.ZodOptional<z.ZodNumber>;
        presence_penalty: z.ZodOptional<z.ZodNumber>;
        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"json_object">;
        }, "strip", z.ZodTypeAny, {
            type: "json_object";
        }, {
            type: "json_object";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"json_schema">;
            json_schema: z.ZodObject<{
                name: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }, {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }, {
            type: "json_schema";
            json_schema: {
                name: string;
                description?: string | undefined;
                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                strict?: boolean | null | undefined;
            };
        }>, z.ZodObject<{
            type: z.ZodLiteral<"text">;
        }, "strip", z.ZodTypeAny, {
            type: "text";
        }, {
            type: "text";
        }>, z.ZodNull]>>;
        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
            type: z.ZodLiteral<"function">;
            function: z.ZodObject<{
                name: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                name: string;
            }, {
                name: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
            };
            type: "function";
        }, {
            function: {
                name: string;
            };
            type: "function";
        }>]>>;
        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
            name: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            name: string;
        }, {
            name: string;
        }>]>>;
        n: z.ZodOptional<z.ZodNumber>;
        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        max_tokens: z.ZodNumber;
        temperature: z.ZodNumber;
        top_p: z.ZodOptional<z.ZodNumber>;
        top_k: z.ZodOptional<z.ZodNumber>;
        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
        topP: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
        temperature: z.ZodOptional<z.ZodNumber>;
        topK: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        use_cache: z.ZodOptional<z.ZodBoolean>;
        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
        reasoning_budget: z.ZodOptional<z.ZodNumber>;
    }, z.ZodTypeAny, "passthrough"> | undefined;
    templateFormat?: "none" | "mustache" | "nunjucks" | undefined;
    environments?: string[] | undefined;
}>>, z.ZodObject<{
    tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodOptional<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>;
            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            description?: string | undefined;
            strict?: boolean | null | undefined;
            parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        }, {
            name: string;
            description?: string | undefined;
            strict?: boolean | null | undefined;
            parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        function: {
            name: string;
            description?: string | undefined;
            strict?: boolean | null | undefined;
            parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        };
        type: "function";
    }, {
        function: {
            name: string;
            description?: string | undefined;
            strict?: boolean | null | undefined;
            parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        };
        type: "function";
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    tools?: {
        function: {
            name: string;
            description?: string | undefined;
            strict?: boolean | null | undefined;
            parameters?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        };
        type: "function";
    }[] | undefined;
}, {
    tools?: {
        function: {
            name: string;
            description?: string | undefined;
            strict?: boolean | null | undefined;
            parameters?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
        };
        type: "function";
    }[] | undefined;
}>>;
type PromptDefinitionWithTools = z.infer<typeof promptDefinitionWithToolsSchema>;
declare function promptDefinitionToPromptData(promptDefinition: PromptDefinition, rawTools?: ToolFunctionDefinitionType[]): PromptDataType;

type EvaluatorManifest = Record<string, EvaluatorDef<unknown, unknown, unknown, BaseMetadata>>;
declare const evalParametersSerializedSchema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
    type: z.ZodLiteral<"prompt">;
    default: z.ZodOptional<z.ZodObject<{
        prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"chat">;
            messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"system">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, z.ZodObject<{
                    image_url: z.ZodObject<{
                        url: z.ZodString;
                        detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                    }, "strip", z.ZodTypeAny, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }, {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    }>;
                    type: z.ZodLiteral<"image_url">;
                }, "strip", z.ZodTypeAny, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }, {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                }>, z.ZodObject<{
                    file: z.ZodObject<{
                        file_data: z.ZodOptional<z.ZodString>;
                        filename: z.ZodOptional<z.ZodString>;
                        file_id: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }, {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    }>;
                    type: z.ZodLiteral<"file">;
                }, "strip", z.ZodTypeAny, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }, {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                }>]>, "many">]>;
                role: z.ZodLiteral<"user">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }, {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"assistant">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">, z.ZodNull]>>;
                function_call: z.ZodOptional<z.ZodObject<{
                    arguments: z.ZodString;
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                    arguments: string;
                }, {
                    name: string;
                    arguments: string;
                }>>;
                name: z.ZodOptional<z.ZodString>;
                tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    function: z.ZodObject<{
                        arguments: z.ZodString;
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        arguments: string;
                    }, {
                        name: string;
                        arguments: string;
                    }>;
                    type: z.ZodLiteral<"function">;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }, {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }>, "many">>;
                reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodOptional<z.ZodString>;
                    content: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    id?: string | undefined;
                    content?: string | undefined;
                }, {
                    id?: string | undefined;
                    content?: string | undefined;
                }>, "many">>;
                reasoning_signature: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }, {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"tool">;
                tool_call_id: z.ZodDefault<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            }, {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                name: z.ZodString;
                role: z.ZodLiteral<"function">;
            }, "strip", z.ZodTypeAny, {
                role: "function";
                name: string;
                content: string | null;
            }, {
                role: "function";
                name: string;
                content: string | null;
            }>, z.ZodObject<{
                content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                    text: z.ZodDefault<z.ZodString>;
                    type: z.ZodLiteral<"text">;
                    cache_control: z.ZodOptional<z.ZodObject<{
                        type: z.ZodLiteral<"ephemeral">;
                    }, "strip", z.ZodTypeAny, {
                        type: "ephemeral";
                    }, {
                        type: "ephemeral";
                    }>>;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }, {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }>, "many">]>;
                role: z.ZodLiteral<"developer">;
                name: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }, {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            }>, z.ZodObject<{
                role: z.ZodLiteral<"model">;
                content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                role: "model";
                content?: string | null | undefined;
            }, {
                role: "model";
                content?: string | null | undefined;
            }>]>, "many">;
            tools: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }, {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"completion">;
            content: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            type: "completion";
            content: string;
        }, {
            type: "completion";
            content: string;
        }>, z.ZodNull]>>;
        options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            model: z.ZodOptional<z.ZodString>;
            params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough">>]>>;
            position: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }, {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        }>, z.ZodNull]>>;
        parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"llm_classifier">;
            use_cot: z.ZodBoolean;
            choice_scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
            choice: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            allow_no_match: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        }, {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        }>, z.ZodNull]>>;
        tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"function">;
            id: z.ZodString;
            version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "function";
            id: string;
            version?: string | undefined;
        }, {
            type: "function";
            id: string;
            version?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"global">;
            name: z.ZodString;
            function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
        }, "strip", z.ZodTypeAny, {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        }, {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        }>]>, "many">, z.ZodNull]>>;
        template_format: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["mustache", "nunjucks", "none"]>, z.ZodNull]>>;
        mcp: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"id">;
            id: z.ZodString;
            is_disabled: z.ZodOptional<z.ZodBoolean>;
            enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"url">;
            url: z.ZodString;
            is_disabled: z.ZodOptional<z.ZodBoolean>;
            enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }, {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }>]>>, z.ZodNull]>>;
        origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            prompt_id: z.ZodOptional<z.ZodString>;
            project_id: z.ZodOptional<z.ZodString>;
            prompt_version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }, {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        }>, z.ZodNull]>>;
    }, "strip", z.ZodTypeAny, {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    }, {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    }>>;
    description: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "prompt";
    description?: string | undefined;
    default?: {
        options?: {
            params?: z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id: string;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text: string;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    } | undefined;
}, {
    type: "prompt";
    description?: string | undefined;
    default?: {
        options?: {
            params?: z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                top_p: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodOptional<z.ZodNumber>;
                max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                frequency_penalty: z.ZodOptional<z.ZodNumber>;
                presence_penalty: z.ZodOptional<z.ZodNumber>;
                response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"json_object">;
                }, "strip", z.ZodTypeAny, {
                    type: "json_object";
                }, {
                    type: "json_object";
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"json_schema">;
                    json_schema: z.ZodObject<{
                        name: z.ZodString;
                        description: z.ZodOptional<z.ZodString>;
                        schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                        strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }, {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }, {
                    type: "json_schema";
                    json_schema: {
                        name: string;
                        description?: string | undefined;
                        schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                        strict?: boolean | null | undefined;
                    };
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"text">;
                }, "strip", z.ZodTypeAny, {
                    type: "text";
                }, {
                    type: "text";
                }>, z.ZodNull]>>;
                tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    function: z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>;
                }, "strip", z.ZodTypeAny, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }, {
                    function: {
                        name: string;
                    };
                    type: "function";
                }>]>>;
                function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                    name: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    name: string;
                }, {
                    name: string;
                }>]>>;
                n: z.ZodOptional<z.ZodNumber>;
                stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                max_tokens: z.ZodNumber;
                temperature: z.ZodNumber;
                top_p: z.ZodOptional<z.ZodNumber>;
                top_k: z.ZodOptional<z.ZodNumber>;
                stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                topP: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
                temperature: z.ZodOptional<z.ZodNumber>;
                topK: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                use_cache: z.ZodOptional<z.ZodBoolean>;
                reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                reasoning_budget: z.ZodOptional<z.ZodNumber>;
            }, z.ZodTypeAny, "passthrough"> | undefined;
            model?: string | undefined;
            position?: string | undefined;
        } | null | undefined;
        prompt?: {
            type: "chat";
            messages: ({
                role: "system";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "user";
                content: string | ({
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                } | {
                    type: "image_url";
                    image_url: {
                        url: string;
                        detail?: "auto" | "low" | "high" | undefined;
                    };
                } | {
                    type: "file";
                    file: {
                        filename?: string | undefined;
                        file_data?: string | undefined;
                        file_id?: string | undefined;
                    };
                })[];
                name?: string | undefined;
            } | {
                role: "assistant";
                name?: string | undefined;
                function_call?: {
                    name: string;
                    arguments: string;
                } | undefined;
                content?: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[] | null | undefined;
                tool_calls?: {
                    function: {
                        name: string;
                        arguments: string;
                    };
                    type: "function";
                    id: string;
                }[] | undefined;
                reasoning?: {
                    id?: string | undefined;
                    content?: string | undefined;
                }[] | undefined;
                reasoning_signature?: string | undefined;
            } | {
                role: "tool";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                tool_call_id?: string | undefined;
            } | {
                role: "function";
                name: string;
                content: string | null;
            } | {
                role: "developer";
                content: string | {
                    type: "text";
                    text?: string | undefined;
                    cache_control?: {
                        type: "ephemeral";
                    } | undefined;
                }[];
                name?: string | undefined;
            } | {
                role: "model";
                content?: string | null | undefined;
            })[];
            tools?: string | undefined;
        } | {
            type: "completion";
            content: string;
        } | null | undefined;
        origin?: {
            project_id?: string | undefined;
            prompt_id?: string | undefined;
            prompt_version?: string | undefined;
        } | null | undefined;
        parser?: {
            type: "llm_classifier";
            use_cot: boolean;
            choice_scores?: Record<string, number> | undefined;
            choice?: string[] | undefined;
            allow_no_match?: boolean | undefined;
        } | null | undefined;
        tool_functions?: ({
            type: "function";
            id: string;
            version?: string | undefined;
        } | {
            type: "global";
            name: string;
            function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
        })[] | null | undefined;
        template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
        mcp?: Record<string, {
            type: "id";
            id: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        } | {
            type: "url";
            url: string;
            is_disabled?: boolean | undefined;
            enabled_tools?: string[] | null | undefined;
        }> | null | undefined;
    } | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"model">;
    default: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "model";
    description?: string | undefined;
    default?: string | undefined;
}, {
    type: "model";
    description?: string | undefined;
    default?: string | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"data">;
    schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    default: z.ZodOptional<z.ZodUnknown>;
    description: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "data";
    schema: Record<string, unknown>;
    description?: string | undefined;
    default?: unknown;
}, {
    type: "data";
    schema: Record<string, unknown>;
    description?: string | undefined;
    default?: unknown;
}>]>>;
type EvalParameterSerializedSchema = z.infer<typeof evalParametersSerializedSchema>;
declare const parametersSourceSchema: z.ZodObject<{
    parametersId: z.ZodOptional<z.ZodString>;
    slug: z.ZodString;
    name: z.ZodString;
    projectId: z.ZodOptional<z.ZodString>;
    version: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    name: string;
    slug: string;
    version?: string | undefined;
    projectId?: string | undefined;
    parametersId?: string | undefined;
}, {
    name: string;
    slug: string;
    version?: string | undefined;
    projectId?: string | undefined;
    parametersId?: string | undefined;
}>;
type ParametersSource = z.infer<typeof parametersSourceSchema>;
declare const evaluatorDefinitionSchema: z.ZodObject<{
    parameters: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"braintrust.parameters">;
        schema: z.ZodObject<{
            type: z.ZodLiteral<"object">;
            properties: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            additionalProperties: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        }, {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        }>;
        source: z.ZodObject<{
            parametersId: z.ZodOptional<z.ZodString>;
            slug: z.ZodString;
            name: z.ZodString;
            projectId: z.ZodOptional<z.ZodString>;
            version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        }, {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "braintrust.parameters";
        schema: {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        };
        source: {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        };
    }, {
        type: "braintrust.parameters";
        schema: {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        };
        source: {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        };
    }>, z.ZodObject<{
        type: z.ZodLiteral<"braintrust.staticParameters">;
        schema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"prompt">;
            default: z.ZodOptional<z.ZodObject<{
                prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"chat">;
                    messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                            text: z.ZodDefault<z.ZodString>;
                            type: z.ZodLiteral<"text">;
                            cache_control: z.ZodOptional<z.ZodObject<{
                                type: z.ZodLiteral<"ephemeral">;
                            }, "strip", z.ZodTypeAny, {
                                type: "ephemeral";
                            }, {
                                type: "ephemeral";
                            }>>;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }, {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }>, "many">]>;
                        role: z.ZodLiteral<"system">;
                        name: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    }, {
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    }>, z.ZodObject<{
                        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                            text: z.ZodDefault<z.ZodString>;
                            type: z.ZodLiteral<"text">;
                            cache_control: z.ZodOptional<z.ZodObject<{
                                type: z.ZodLiteral<"ephemeral">;
                            }, "strip", z.ZodTypeAny, {
                                type: "ephemeral";
                            }, {
                                type: "ephemeral";
                            }>>;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }, {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }>, z.ZodObject<{
                            image_url: z.ZodObject<{
                                url: z.ZodString;
                                detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                            }, "strip", z.ZodTypeAny, {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            }, {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            }>;
                            type: z.ZodLiteral<"image_url">;
                        }, "strip", z.ZodTypeAny, {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        }, {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        }>, z.ZodObject<{
                            file: z.ZodObject<{
                                file_data: z.ZodOptional<z.ZodString>;
                                filename: z.ZodOptional<z.ZodString>;
                                file_id: z.ZodOptional<z.ZodString>;
                            }, "strip", z.ZodTypeAny, {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            }, {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            }>;
                            type: z.ZodLiteral<"file">;
                        }, "strip", z.ZodTypeAny, {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        }, {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        }>]>, "many">]>;
                        role: z.ZodLiteral<"user">;
                        name: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    }, {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    }>, z.ZodObject<{
                        role: z.ZodLiteral<"assistant">;
                        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                            text: z.ZodDefault<z.ZodString>;
                            type: z.ZodLiteral<"text">;
                            cache_control: z.ZodOptional<z.ZodObject<{
                                type: z.ZodLiteral<"ephemeral">;
                            }, "strip", z.ZodTypeAny, {
                                type: "ephemeral";
                            }, {
                                type: "ephemeral";
                            }>>;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }, {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }>, "many">, z.ZodNull]>>;
                        function_call: z.ZodOptional<z.ZodObject<{
                            arguments: z.ZodString;
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            arguments: string;
                        }, {
                            name: string;
                            arguments: string;
                        }>>;
                        name: z.ZodOptional<z.ZodString>;
                        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                            id: z.ZodString;
                            function: z.ZodObject<{
                                arguments: z.ZodString;
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                arguments: string;
                            }, {
                                name: string;
                                arguments: string;
                            }>;
                            type: z.ZodLiteral<"function">;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }, {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }>, "many">>;
                        reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                            id: z.ZodOptional<z.ZodString>;
                            content: z.ZodOptional<z.ZodString>;
                        }, "strip", z.ZodTypeAny, {
                            id?: string | undefined;
                            content?: string | undefined;
                        }, {
                            id?: string | undefined;
                            content?: string | undefined;
                        }>, "many">>;
                        reasoning_signature: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    }, {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    }>, z.ZodObject<{
                        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                            text: z.ZodDefault<z.ZodString>;
                            type: z.ZodLiteral<"text">;
                            cache_control: z.ZodOptional<z.ZodObject<{
                                type: z.ZodLiteral<"ephemeral">;
                            }, "strip", z.ZodTypeAny, {
                                type: "ephemeral";
                            }, {
                                type: "ephemeral";
                            }>>;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }, {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }>, "many">]>;
                        role: z.ZodLiteral<"tool">;
                        tool_call_id: z.ZodDefault<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    }, {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    }>, z.ZodObject<{
                        content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                        name: z.ZodString;
                        role: z.ZodLiteral<"function">;
                    }, "strip", z.ZodTypeAny, {
                        role: "function";
                        name: string;
                        content: string | null;
                    }, {
                        role: "function";
                        name: string;
                        content: string | null;
                    }>, z.ZodObject<{
                        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                            text: z.ZodDefault<z.ZodString>;
                            type: z.ZodLiteral<"text">;
                            cache_control: z.ZodOptional<z.ZodObject<{
                                type: z.ZodLiteral<"ephemeral">;
                            }, "strip", z.ZodTypeAny, {
                                type: "ephemeral";
                            }, {
                                type: "ephemeral";
                            }>>;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }, {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }>, "many">]>;
                        role: z.ZodLiteral<"developer">;
                        name: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    }, {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    }>, z.ZodObject<{
                        role: z.ZodLiteral<"model">;
                        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        role: "model";
                        content?: string | null | undefined;
                    }, {
                        role: "model";
                        content?: string | null | undefined;
                    }>]>, "many">;
                    tools: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                }, {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"completion">;
                    content: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    type: "completion";
                    content: string;
                }, {
                    type: "completion";
                    content: string;
                }>, z.ZodNull]>>;
                options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    model: z.ZodOptional<z.ZodString>;
                    params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">>]>>;
                    position: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    params?: z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                }, {
                    params?: z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                }>, z.ZodNull]>>;
                parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"llm_classifier">;
                    use_cot: z.ZodBoolean;
                    choice_scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
                    choice: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    allow_no_match: z.ZodOptional<z.ZodBoolean>;
                }, "strip", z.ZodTypeAny, {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                }, {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                }>, z.ZodNull]>>;
                tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    id: z.ZodString;
                    version: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    type: "function";
                    id: string;
                    version?: string | undefined;
                }, {
                    type: "function";
                    id: string;
                    version?: string | undefined;
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"global">;
                    name: z.ZodString;
                    function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
                }, "strip", z.ZodTypeAny, {
                    type: "global";
                    name: string;
                    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
                }, {
                    type: "global";
                    name: string;
                    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
                }>]>, "many">, z.ZodNull]>>;
                template_format: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["mustache", "nunjucks", "none"]>, z.ZodNull]>>;
                mcp: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"id">;
                    id: z.ZodString;
                    is_disabled: z.ZodOptional<z.ZodBoolean>;
                    enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"url">;
                    url: z.ZodString;
                    is_disabled: z.ZodOptional<z.ZodBoolean>;
                    enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }, {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }>]>>, z.ZodNull]>>;
                origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    prompt_id: z.ZodOptional<z.ZodString>;
                    project_id: z.ZodOptional<z.ZodString>;
                    prompt_version: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                }, {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                }>, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                options?: {
                    params?: z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            }, {
                options?: {
                    params?: z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            }>>;
            description: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        }, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"model">;
            default: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        }, {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"data">;
            schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
            default: z.ZodOptional<z.ZodUnknown>;
            description: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }, {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }>]>>;
        source: z.ZodOptional<z.ZodNullable<z.ZodNull>>;
    }, "strip", z.ZodTypeAny, {
        type: "braintrust.staticParameters";
        schema: Record<string, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        } | {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        } | {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }>;
        source?: null | undefined;
    }, {
        type: "braintrust.staticParameters";
        schema: Record<string, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        } | {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        } | {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }>;
        source?: null | undefined;
    }>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"prompt">;
        default: z.ZodOptional<z.ZodObject<{
            prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"chat">;
                messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                        text: z.ZodDefault<z.ZodString>;
                        type: z.ZodLiteral<"text">;
                        cache_control: z.ZodOptional<z.ZodObject<{
                            type: z.ZodLiteral<"ephemeral">;
                        }, "strip", z.ZodTypeAny, {
                            type: "ephemeral";
                        }, {
                            type: "ephemeral";
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }, {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }>, "many">]>;
                    role: z.ZodLiteral<"system">;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    role: "system";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                }, {
                    role: "system";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                }>, z.ZodObject<{
                    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                        text: z.ZodDefault<z.ZodString>;
                        type: z.ZodLiteral<"text">;
                        cache_control: z.ZodOptional<z.ZodObject<{
                            type: z.ZodLiteral<"ephemeral">;
                        }, "strip", z.ZodTypeAny, {
                            type: "ephemeral";
                        }, {
                            type: "ephemeral";
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }, {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }>, z.ZodObject<{
                        image_url: z.ZodObject<{
                            url: z.ZodString;
                            detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                        }, "strip", z.ZodTypeAny, {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        }, {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        }>;
                        type: z.ZodLiteral<"image_url">;
                    }, "strip", z.ZodTypeAny, {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    }, {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    }>, z.ZodObject<{
                        file: z.ZodObject<{
                            file_data: z.ZodOptional<z.ZodString>;
                            filename: z.ZodOptional<z.ZodString>;
                            file_id: z.ZodOptional<z.ZodString>;
                        }, "strip", z.ZodTypeAny, {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        }, {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        }>;
                        type: z.ZodLiteral<"file">;
                    }, "strip", z.ZodTypeAny, {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    }, {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    }>]>, "many">]>;
                    role: z.ZodLiteral<"user">;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                }, {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                }>, z.ZodObject<{
                    role: z.ZodLiteral<"assistant">;
                    content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                        text: z.ZodDefault<z.ZodString>;
                        type: z.ZodLiteral<"text">;
                        cache_control: z.ZodOptional<z.ZodObject<{
                            type: z.ZodLiteral<"ephemeral">;
                        }, "strip", z.ZodTypeAny, {
                            type: "ephemeral";
                        }, {
                            type: "ephemeral";
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }, {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }>, "many">, z.ZodNull]>>;
                    function_call: z.ZodOptional<z.ZodObject<{
                        arguments: z.ZodString;
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        arguments: string;
                    }, {
                        name: string;
                        arguments: string;
                    }>>;
                    name: z.ZodOptional<z.ZodString>;
                    tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        id: z.ZodString;
                        function: z.ZodObject<{
                            arguments: z.ZodString;
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            arguments: string;
                        }, {
                            name: string;
                            arguments: string;
                        }>;
                        type: z.ZodLiteral<"function">;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }, {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }>, "many">>;
                    reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        id: z.ZodOptional<z.ZodString>;
                        content: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        id?: string | undefined;
                        content?: string | undefined;
                    }, {
                        id?: string | undefined;
                        content?: string | undefined;
                    }>, "many">>;
                    reasoning_signature: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                }, {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                }>, z.ZodObject<{
                    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                        text: z.ZodDefault<z.ZodString>;
                        type: z.ZodLiteral<"text">;
                        cache_control: z.ZodOptional<z.ZodObject<{
                            type: z.ZodLiteral<"ephemeral">;
                        }, "strip", z.ZodTypeAny, {
                            type: "ephemeral";
                        }, {
                            type: "ephemeral";
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }, {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }>, "many">]>;
                    role: z.ZodLiteral<"tool">;
                    tool_call_id: z.ZodDefault<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id: string;
                }, {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id?: string | undefined;
                }>, z.ZodObject<{
                    content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                    name: z.ZodString;
                    role: z.ZodLiteral<"function">;
                }, "strip", z.ZodTypeAny, {
                    role: "function";
                    name: string;
                    content: string | null;
                }, {
                    role: "function";
                    name: string;
                    content: string | null;
                }>, z.ZodObject<{
                    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                        text: z.ZodDefault<z.ZodString>;
                        type: z.ZodLiteral<"text">;
                        cache_control: z.ZodOptional<z.ZodObject<{
                            type: z.ZodLiteral<"ephemeral">;
                        }, "strip", z.ZodTypeAny, {
                            type: "ephemeral";
                        }, {
                            type: "ephemeral";
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }, {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }>, "many">]>;
                    role: z.ZodLiteral<"developer">;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                }, {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                }>, z.ZodObject<{
                    role: z.ZodLiteral<"model">;
                    content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    role: "model";
                    content?: string | null | undefined;
                }, {
                    role: "model";
                    content?: string | null | undefined;
                }>]>, "many">;
                tools: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id: string;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            }, {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id?: string | undefined;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"completion">;
                content: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                type: "completion";
                content: string;
            }, {
                type: "completion";
                content: string;
            }>, z.ZodNull]>>;
            options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                model: z.ZodOptional<z.ZodString>;
                params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">>]>>;
                position: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                params?: z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            }, {
                params?: z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            }>, z.ZodNull]>>;
            parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"llm_classifier">;
                use_cot: z.ZodBoolean;
                choice_scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
                choice: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                allow_no_match: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            }, {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            }>, z.ZodNull]>>;
            tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"function">;
                id: z.ZodString;
                version: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: "function";
                id: string;
                version?: string | undefined;
            }, {
                type: "function";
                id: string;
                version?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"global">;
                name: z.ZodString;
                function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
            }, "strip", z.ZodTypeAny, {
                type: "global";
                name: string;
                function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
            }, {
                type: "global";
                name: string;
                function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
            }>]>, "many">, z.ZodNull]>>;
            template_format: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["mustache", "nunjucks", "none"]>, z.ZodNull]>>;
            mcp: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"id">;
                id: z.ZodString;
                is_disabled: z.ZodOptional<z.ZodBoolean>;
                enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"url">;
                url: z.ZodString;
                is_disabled: z.ZodOptional<z.ZodBoolean>;
                enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }, {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }>]>>, z.ZodNull]>>;
            origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                prompt_id: z.ZodOptional<z.ZodString>;
                project_id: z.ZodOptional<z.ZodString>;
                prompt_version: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            }, {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            }>, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            options?: {
                params?: z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id: string;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        }, {
            options?: {
                params?: z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id?: string | undefined;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        }>>;
        description: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "prompt";
        description?: string | undefined;
        default?: {
            options?: {
                params?: z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id: string;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        } | undefined;
    }, {
        type: "prompt";
        description?: string | undefined;
        default?: {
            options?: {
                params?: z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id?: string | undefined;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        } | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"model">;
        default: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "model";
        description?: string | undefined;
        default?: string | undefined;
    }, {
        type: "model";
        description?: string | undefined;
        default?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"data">;
        schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        default: z.ZodOptional<z.ZodUnknown>;
        description: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "data";
        schema: Record<string, unknown>;
        description?: string | undefined;
        default?: unknown;
    }, {
        type: "data";
        schema: Record<string, unknown>;
        description?: string | undefined;
        default?: unknown;
    }>]>>]>>>;
    scores: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
    }, {
        name: string;
    }>, "many">>;
    classifiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
    }, {
        name: string;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    parameters?: Record<string, {
        type: "prompt";
        description?: string | undefined;
        default?: {
            options?: {
                params?: z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id: string;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        } | undefined;
    } | {
        type: "model";
        description?: string | undefined;
        default?: string | undefined;
    } | {
        type: "data";
        schema: Record<string, unknown>;
        description?: string | undefined;
        default?: unknown;
    }> | {
        type: "braintrust.parameters";
        schema: {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        };
        source: {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        };
    } | {
        type: "braintrust.staticParameters";
        schema: Record<string, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        } | {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        } | {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }>;
        source?: null | undefined;
    } | null | undefined;
    scores?: {
        name: string;
    }[] | undefined;
    classifiers?: {
        name: string;
    }[] | undefined;
}, {
    parameters?: Record<string, {
        type: "prompt";
        description?: string | undefined;
        default?: {
            options?: {
                params?: z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id?: string | undefined;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        } | undefined;
    } | {
        type: "model";
        description?: string | undefined;
        default?: string | undefined;
    } | {
        type: "data";
        schema: Record<string, unknown>;
        description?: string | undefined;
        default?: unknown;
    }> | {
        type: "braintrust.parameters";
        schema: {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        };
        source: {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        };
    } | {
        type: "braintrust.staticParameters";
        schema: Record<string, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        } | {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        } | {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }>;
        source?: null | undefined;
    } | null | undefined;
    scores?: {
        name: string;
    }[] | undefined;
    classifiers?: {
        name: string;
    }[] | undefined;
}>;
type EvaluatorDefinition = z.infer<typeof evaluatorDefinitionSchema>;
declare const evaluatorDefinitionsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
    parameters: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"braintrust.parameters">;
        schema: z.ZodObject<{
            type: z.ZodLiteral<"object">;
            properties: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>>;
            required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            additionalProperties: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        }, {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        }>;
        source: z.ZodObject<{
            parametersId: z.ZodOptional<z.ZodString>;
            slug: z.ZodString;
            name: z.ZodString;
            projectId: z.ZodOptional<z.ZodString>;
            version: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        }, {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "braintrust.parameters";
        schema: {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        };
        source: {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        };
    }, {
        type: "braintrust.parameters";
        schema: {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        };
        source: {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        };
    }>, z.ZodObject<{
        type: z.ZodLiteral<"braintrust.staticParameters">;
        schema: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"prompt">;
            default: z.ZodOptional<z.ZodObject<{
                prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"chat">;
                    messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                            text: z.ZodDefault<z.ZodString>;
                            type: z.ZodLiteral<"text">;
                            cache_control: z.ZodOptional<z.ZodObject<{
                                type: z.ZodLiteral<"ephemeral">;
                            }, "strip", z.ZodTypeAny, {
                                type: "ephemeral";
                            }, {
                                type: "ephemeral";
                            }>>;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }, {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }>, "many">]>;
                        role: z.ZodLiteral<"system">;
                        name: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    }, {
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    }>, z.ZodObject<{
                        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                            text: z.ZodDefault<z.ZodString>;
                            type: z.ZodLiteral<"text">;
                            cache_control: z.ZodOptional<z.ZodObject<{
                                type: z.ZodLiteral<"ephemeral">;
                            }, "strip", z.ZodTypeAny, {
                                type: "ephemeral";
                            }, {
                                type: "ephemeral";
                            }>>;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }, {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }>, z.ZodObject<{
                            image_url: z.ZodObject<{
                                url: z.ZodString;
                                detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                            }, "strip", z.ZodTypeAny, {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            }, {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            }>;
                            type: z.ZodLiteral<"image_url">;
                        }, "strip", z.ZodTypeAny, {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        }, {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        }>, z.ZodObject<{
                            file: z.ZodObject<{
                                file_data: z.ZodOptional<z.ZodString>;
                                filename: z.ZodOptional<z.ZodString>;
                                file_id: z.ZodOptional<z.ZodString>;
                            }, "strip", z.ZodTypeAny, {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            }, {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            }>;
                            type: z.ZodLiteral<"file">;
                        }, "strip", z.ZodTypeAny, {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        }, {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        }>]>, "many">]>;
                        role: z.ZodLiteral<"user">;
                        name: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    }, {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    }>, z.ZodObject<{
                        role: z.ZodLiteral<"assistant">;
                        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                            text: z.ZodDefault<z.ZodString>;
                            type: z.ZodLiteral<"text">;
                            cache_control: z.ZodOptional<z.ZodObject<{
                                type: z.ZodLiteral<"ephemeral">;
                            }, "strip", z.ZodTypeAny, {
                                type: "ephemeral";
                            }, {
                                type: "ephemeral";
                            }>>;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }, {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }>, "many">, z.ZodNull]>>;
                        function_call: z.ZodOptional<z.ZodObject<{
                            arguments: z.ZodString;
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            arguments: string;
                        }, {
                            name: string;
                            arguments: string;
                        }>>;
                        name: z.ZodOptional<z.ZodString>;
                        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                            id: z.ZodString;
                            function: z.ZodObject<{
                                arguments: z.ZodString;
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                arguments: string;
                            }, {
                                name: string;
                                arguments: string;
                            }>;
                            type: z.ZodLiteral<"function">;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }, {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }>, "many">>;
                        reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                            id: z.ZodOptional<z.ZodString>;
                            content: z.ZodOptional<z.ZodString>;
                        }, "strip", z.ZodTypeAny, {
                            id?: string | undefined;
                            content?: string | undefined;
                        }, {
                            id?: string | undefined;
                            content?: string | undefined;
                        }>, "many">>;
                        reasoning_signature: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    }, {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    }>, z.ZodObject<{
                        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                            text: z.ZodDefault<z.ZodString>;
                            type: z.ZodLiteral<"text">;
                            cache_control: z.ZodOptional<z.ZodObject<{
                                type: z.ZodLiteral<"ephemeral">;
                            }, "strip", z.ZodTypeAny, {
                                type: "ephemeral";
                            }, {
                                type: "ephemeral";
                            }>>;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }, {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }>, "many">]>;
                        role: z.ZodLiteral<"tool">;
                        tool_call_id: z.ZodDefault<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    }, {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    }>, z.ZodObject<{
                        content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                        name: z.ZodString;
                        role: z.ZodLiteral<"function">;
                    }, "strip", z.ZodTypeAny, {
                        role: "function";
                        name: string;
                        content: string | null;
                    }, {
                        role: "function";
                        name: string;
                        content: string | null;
                    }>, z.ZodObject<{
                        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                            text: z.ZodDefault<z.ZodString>;
                            type: z.ZodLiteral<"text">;
                            cache_control: z.ZodOptional<z.ZodObject<{
                                type: z.ZodLiteral<"ephemeral">;
                            }, "strip", z.ZodTypeAny, {
                                type: "ephemeral";
                            }, {
                                type: "ephemeral";
                            }>>;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }, {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }>, "many">]>;
                        role: z.ZodLiteral<"developer">;
                        name: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    }, {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    }>, z.ZodObject<{
                        role: z.ZodLiteral<"model">;
                        content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
                    }, "strip", z.ZodTypeAny, {
                        role: "model";
                        content?: string | null | undefined;
                    }, {
                        role: "model";
                        content?: string | null | undefined;
                    }>]>, "many">;
                    tools: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                }, {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"completion">;
                    content: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    type: "completion";
                    content: string;
                }, {
                    type: "completion";
                    content: string;
                }>, z.ZodNull]>>;
                options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    model: z.ZodOptional<z.ZodString>;
                    params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough">>]>>;
                    position: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    params?: z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                }, {
                    params?: z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                }>, z.ZodNull]>>;
                parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"llm_classifier">;
                    use_cot: z.ZodBoolean;
                    choice_scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
                    choice: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    allow_no_match: z.ZodOptional<z.ZodBoolean>;
                }, "strip", z.ZodTypeAny, {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                }, {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                }>, z.ZodNull]>>;
                tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"function">;
                    id: z.ZodString;
                    version: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    type: "function";
                    id: string;
                    version?: string | undefined;
                }, {
                    type: "function";
                    id: string;
                    version?: string | undefined;
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"global">;
                    name: z.ZodString;
                    function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
                }, "strip", z.ZodTypeAny, {
                    type: "global";
                    name: string;
                    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
                }, {
                    type: "global";
                    name: string;
                    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
                }>]>, "many">, z.ZodNull]>>;
                template_format: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["mustache", "nunjucks", "none"]>, z.ZodNull]>>;
                mcp: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"id">;
                    id: z.ZodString;
                    is_disabled: z.ZodOptional<z.ZodBoolean>;
                    enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }>, z.ZodObject<{
                    type: z.ZodLiteral<"url">;
                    url: z.ZodString;
                    is_disabled: z.ZodOptional<z.ZodBoolean>;
                    enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }, {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }>]>>, z.ZodNull]>>;
                origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    prompt_id: z.ZodOptional<z.ZodString>;
                    project_id: z.ZodOptional<z.ZodString>;
                    prompt_version: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                }, {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                }>, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                options?: {
                    params?: z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            }, {
                options?: {
                    params?: z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            }>>;
            description: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        }, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"model">;
            default: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        }, {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"data">;
            schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
            default: z.ZodOptional<z.ZodUnknown>;
            description: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }, {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }>]>>;
        source: z.ZodOptional<z.ZodNullable<z.ZodNull>>;
    }, "strip", z.ZodTypeAny, {
        type: "braintrust.staticParameters";
        schema: Record<string, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        } | {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        } | {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }>;
        source?: null | undefined;
    }, {
        type: "braintrust.staticParameters";
        schema: Record<string, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        } | {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        } | {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }>;
        source?: null | undefined;
    }>, z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
        type: z.ZodLiteral<"prompt">;
        default: z.ZodOptional<z.ZodObject<{
            prompt: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"chat">;
                messages: z.ZodArray<z.ZodUnion<[z.ZodObject<{
                    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                        text: z.ZodDefault<z.ZodString>;
                        type: z.ZodLiteral<"text">;
                        cache_control: z.ZodOptional<z.ZodObject<{
                            type: z.ZodLiteral<"ephemeral">;
                        }, "strip", z.ZodTypeAny, {
                            type: "ephemeral";
                        }, {
                            type: "ephemeral";
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }, {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }>, "many">]>;
                    role: z.ZodLiteral<"system">;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    role: "system";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                }, {
                    role: "system";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                }>, z.ZodObject<{
                    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                        text: z.ZodDefault<z.ZodString>;
                        type: z.ZodLiteral<"text">;
                        cache_control: z.ZodOptional<z.ZodObject<{
                            type: z.ZodLiteral<"ephemeral">;
                        }, "strip", z.ZodTypeAny, {
                            type: "ephemeral";
                        }, {
                            type: "ephemeral";
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }, {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }>, z.ZodObject<{
                        image_url: z.ZodObject<{
                            url: z.ZodString;
                            detail: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"low">, z.ZodLiteral<"high">]>>;
                        }, "strip", z.ZodTypeAny, {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        }, {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        }>;
                        type: z.ZodLiteral<"image_url">;
                    }, "strip", z.ZodTypeAny, {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    }, {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    }>, z.ZodObject<{
                        file: z.ZodObject<{
                            file_data: z.ZodOptional<z.ZodString>;
                            filename: z.ZodOptional<z.ZodString>;
                            file_id: z.ZodOptional<z.ZodString>;
                        }, "strip", z.ZodTypeAny, {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        }, {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        }>;
                        type: z.ZodLiteral<"file">;
                    }, "strip", z.ZodTypeAny, {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    }, {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    }>]>, "many">]>;
                    role: z.ZodLiteral<"user">;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                }, {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                }>, z.ZodObject<{
                    role: z.ZodLiteral<"assistant">;
                    content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                        text: z.ZodDefault<z.ZodString>;
                        type: z.ZodLiteral<"text">;
                        cache_control: z.ZodOptional<z.ZodObject<{
                            type: z.ZodLiteral<"ephemeral">;
                        }, "strip", z.ZodTypeAny, {
                            type: "ephemeral";
                        }, {
                            type: "ephemeral";
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }, {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }>, "many">, z.ZodNull]>>;
                    function_call: z.ZodOptional<z.ZodObject<{
                        arguments: z.ZodString;
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                        arguments: string;
                    }, {
                        name: string;
                        arguments: string;
                    }>>;
                    name: z.ZodOptional<z.ZodString>;
                    tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        id: z.ZodString;
                        function: z.ZodObject<{
                            arguments: z.ZodString;
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            arguments: string;
                        }, {
                            name: string;
                            arguments: string;
                        }>;
                        type: z.ZodLiteral<"function">;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }, {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }>, "many">>;
                    reasoning: z.ZodOptional<z.ZodArray<z.ZodObject<{
                        id: z.ZodOptional<z.ZodString>;
                        content: z.ZodOptional<z.ZodString>;
                    }, "strip", z.ZodTypeAny, {
                        id?: string | undefined;
                        content?: string | undefined;
                    }, {
                        id?: string | undefined;
                        content?: string | undefined;
                    }>, "many">>;
                    reasoning_signature: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                }, {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                }>, z.ZodObject<{
                    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                        text: z.ZodDefault<z.ZodString>;
                        type: z.ZodLiteral<"text">;
                        cache_control: z.ZodOptional<z.ZodObject<{
                            type: z.ZodLiteral<"ephemeral">;
                        }, "strip", z.ZodTypeAny, {
                            type: "ephemeral";
                        }, {
                            type: "ephemeral";
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }, {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }>, "many">]>;
                    role: z.ZodLiteral<"tool">;
                    tool_call_id: z.ZodDefault<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id: string;
                }, {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id?: string | undefined;
                }>, z.ZodObject<{
                    content: z.ZodUnion<[z.ZodString, z.ZodNull]>;
                    name: z.ZodString;
                    role: z.ZodLiteral<"function">;
                }, "strip", z.ZodTypeAny, {
                    role: "function";
                    name: string;
                    content: string | null;
                }, {
                    role: "function";
                    name: string;
                    content: string | null;
                }>, z.ZodObject<{
                    content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodObject<{
                        text: z.ZodDefault<z.ZodString>;
                        type: z.ZodLiteral<"text">;
                        cache_control: z.ZodOptional<z.ZodObject<{
                            type: z.ZodLiteral<"ephemeral">;
                        }, "strip", z.ZodTypeAny, {
                            type: "ephemeral";
                        }, {
                            type: "ephemeral";
                        }>>;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }, {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }>, "many">]>;
                    role: z.ZodLiteral<"developer">;
                    name: z.ZodOptional<z.ZodString>;
                }, "strip", z.ZodTypeAny, {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                }, {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                }>, z.ZodObject<{
                    role: z.ZodLiteral<"model">;
                    content: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNull]>>;
                }, "strip", z.ZodTypeAny, {
                    role: "model";
                    content?: string | null | undefined;
                }, {
                    role: "model";
                    content?: string | null | undefined;
                }>]>, "many">;
                tools: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id: string;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            }, {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id?: string | undefined;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"completion">;
                content: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                type: "completion";
                content: string;
            }, {
                type: "completion";
                content: string;
            }>, z.ZodNull]>>;
            options: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                model: z.ZodOptional<z.ZodString>;
                params: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough">>]>>;
                position: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                params?: z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            }, {
                params?: z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            }>, z.ZodNull]>>;
            parser: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"llm_classifier">;
                use_cot: z.ZodBoolean;
                choice_scores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
                choice: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                allow_no_match: z.ZodOptional<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            }, {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            }>, z.ZodNull]>>;
            tool_functions: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"function">;
                id: z.ZodString;
                version: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                type: "function";
                id: string;
                version?: string | undefined;
            }, {
                type: "function";
                id: string;
                version?: string | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"global">;
                name: z.ZodString;
                function_type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["llm", "scorer", "task", "tool", "custom_view", "preprocessor", "facet", "classifier", "tag", "parameters", "sandbox"]>>>;
            }, "strip", z.ZodTypeAny, {
                type: "global";
                name: string;
                function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
            }, {
                type: "global";
                name: string;
                function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
            }>]>, "many">, z.ZodNull]>>;
            template_format: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["mustache", "nunjucks", "none"]>, z.ZodNull]>>;
            mcp: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"id">;
                id: z.ZodString;
                is_disabled: z.ZodOptional<z.ZodBoolean>;
                enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }>, z.ZodObject<{
                type: z.ZodLiteral<"url">;
                url: z.ZodString;
                is_disabled: z.ZodOptional<z.ZodBoolean>;
                enabled_tools: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodNull]>>;
            }, "strip", z.ZodTypeAny, {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }, {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }>]>>, z.ZodNull]>>;
            origin: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                prompt_id: z.ZodOptional<z.ZodString>;
                project_id: z.ZodOptional<z.ZodString>;
                prompt_version: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            }, {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            }>, z.ZodNull]>>;
        }, "strip", z.ZodTypeAny, {
            options?: {
                params?: z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id: string;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        }, {
            options?: {
                params?: z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id?: string | undefined;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        }>>;
        description: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "prompt";
        description?: string | undefined;
        default?: {
            options?: {
                params?: z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id: string;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        } | undefined;
    }, {
        type: "prompt";
        description?: string | undefined;
        default?: {
            options?: {
                params?: z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id?: string | undefined;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        } | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"model">;
        default: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "model";
        description?: string | undefined;
        default?: string | undefined;
    }, {
        type: "model";
        description?: string | undefined;
        default?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"data">;
        schema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
        default: z.ZodOptional<z.ZodUnknown>;
        description: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "data";
        schema: Record<string, unknown>;
        description?: string | undefined;
        default?: unknown;
    }, {
        type: "data";
        schema: Record<string, unknown>;
        description?: string | undefined;
        default?: unknown;
    }>]>>]>>>;
    scores: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
    }, {
        name: string;
    }>, "many">>;
    classifiers: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
    }, {
        name: string;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    parameters?: Record<string, {
        type: "prompt";
        description?: string | undefined;
        default?: {
            options?: {
                params?: z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id: string;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text: string;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        } | undefined;
    } | {
        type: "model";
        description?: string | undefined;
        default?: string | undefined;
    } | {
        type: "data";
        schema: Record<string, unknown>;
        description?: string | undefined;
        default?: unknown;
    }> | {
        type: "braintrust.parameters";
        schema: {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        };
        source: {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        };
    } | {
        type: "braintrust.staticParameters";
        schema: Record<string, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectOutputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id: string;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text: string;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox";
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        } | {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        } | {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }>;
        source?: null | undefined;
    } | null | undefined;
    scores?: {
        name: string;
    }[] | undefined;
    classifiers?: {
        name: string;
    }[] | undefined;
}, {
    parameters?: Record<string, {
        type: "prompt";
        description?: string | undefined;
        default?: {
            options?: {
                params?: z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodOptional<z.ZodNumber>;
                    max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                    frequency_penalty: z.ZodOptional<z.ZodNumber>;
                    presence_penalty: z.ZodOptional<z.ZodNumber>;
                    response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"json_object">;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_object";
                    }, {
                        type: "json_object";
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"json_schema">;
                        json_schema: z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodOptional<z.ZodString>;
                            schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                            strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }, {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }, {
                        type: "json_schema";
                        json_schema: {
                            name: string;
                            description?: string | undefined;
                            schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                            strict?: boolean | null | undefined;
                        };
                    }>, z.ZodObject<{
                        type: z.ZodLiteral<"text">;
                    }, "strip", z.ZodTypeAny, {
                        type: "text";
                    }, {
                        type: "text";
                    }>, z.ZodNull]>>;
                    tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                        type: z.ZodLiteral<"function">;
                        function: z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>;
                    }, "strip", z.ZodTypeAny, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }, {
                        function: {
                            name: string;
                        };
                        type: "function";
                    }>]>>;
                    function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                        name: z.ZodString;
                    }, "strip", z.ZodTypeAny, {
                        name: string;
                    }, {
                        name: string;
                    }>]>>;
                    n: z.ZodOptional<z.ZodNumber>;
                    stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                    verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    max_tokens: z.ZodNumber;
                    temperature: z.ZodNumber;
                    top_p: z.ZodOptional<z.ZodNumber>;
                    top_k: z.ZodOptional<z.ZodNumber>;
                    stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                    topP: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    temperature: z.ZodOptional<z.ZodNumber>;
                    topK: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                    use_cache: z.ZodOptional<z.ZodBoolean>;
                    reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                    reasoning_budget: z.ZodOptional<z.ZodNumber>;
                }, z.ZodTypeAny, "passthrough"> | undefined;
                model?: string | undefined;
                position?: string | undefined;
            } | null | undefined;
            prompt?: {
                type: "chat";
                messages: ({
                    role: "system";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "user";
                    content: string | ({
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    } | {
                        type: "image_url";
                        image_url: {
                            url: string;
                            detail?: "auto" | "low" | "high" | undefined;
                        };
                    } | {
                        type: "file";
                        file: {
                            filename?: string | undefined;
                            file_data?: string | undefined;
                            file_id?: string | undefined;
                        };
                    })[];
                    name?: string | undefined;
                } | {
                    role: "assistant";
                    name?: string | undefined;
                    function_call?: {
                        name: string;
                        arguments: string;
                    } | undefined;
                    content?: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[] | null | undefined;
                    tool_calls?: {
                        function: {
                            name: string;
                            arguments: string;
                        };
                        type: "function";
                        id: string;
                    }[] | undefined;
                    reasoning?: {
                        id?: string | undefined;
                        content?: string | undefined;
                    }[] | undefined;
                    reasoning_signature?: string | undefined;
                } | {
                    role: "tool";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    tool_call_id?: string | undefined;
                } | {
                    role: "function";
                    name: string;
                    content: string | null;
                } | {
                    role: "developer";
                    content: string | {
                        type: "text";
                        text?: string | undefined;
                        cache_control?: {
                            type: "ephemeral";
                        } | undefined;
                    }[];
                    name?: string | undefined;
                } | {
                    role: "model";
                    content?: string | null | undefined;
                })[];
                tools?: string | undefined;
            } | {
                type: "completion";
                content: string;
            } | null | undefined;
            origin?: {
                project_id?: string | undefined;
                prompt_id?: string | undefined;
                prompt_version?: string | undefined;
            } | null | undefined;
            parser?: {
                type: "llm_classifier";
                use_cot: boolean;
                choice_scores?: Record<string, number> | undefined;
                choice?: string[] | undefined;
                allow_no_match?: boolean | undefined;
            } | null | undefined;
            tool_functions?: ({
                type: "function";
                id: string;
                version?: string | undefined;
            } | {
                type: "global";
                name: string;
                function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
            })[] | null | undefined;
            template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
            mcp?: Record<string, {
                type: "id";
                id: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            } | {
                type: "url";
                url: string;
                is_disabled?: boolean | undefined;
                enabled_tools?: string[] | null | undefined;
            }> | null | undefined;
        } | undefined;
    } | {
        type: "model";
        description?: string | undefined;
        default?: string | undefined;
    } | {
        type: "data";
        schema: Record<string, unknown>;
        description?: string | undefined;
        default?: unknown;
    }> | {
        type: "braintrust.parameters";
        schema: {
            type: "object";
            properties: Record<string, Record<string, unknown>>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        };
        source: {
            name: string;
            slug: string;
            version?: string | undefined;
            projectId?: string | undefined;
            parametersId?: string | undefined;
        };
    } | {
        type: "braintrust.staticParameters";
        schema: Record<string, {
            type: "prompt";
            description?: string | undefined;
            default?: {
                options?: {
                    params?: z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodOptional<z.ZodNumber>;
                        max_completion_tokens: z.ZodOptional<z.ZodNumber>;
                        frequency_penalty: z.ZodOptional<z.ZodNumber>;
                        presence_penalty: z.ZodOptional<z.ZodNumber>;
                        response_format: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"json_object">;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_object";
                        }, {
                            type: "json_object";
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"json_schema">;
                            json_schema: z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodOptional<z.ZodString>;
                                schema: z.ZodOptional<z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodString]>>;
                                strict: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNull]>>;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }, {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }, {
                            type: "json_schema";
                            json_schema: {
                                name: string;
                                description?: string | undefined;
                                schema?: string | z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
                                strict?: boolean | null | undefined;
                            };
                        }>, z.ZodObject<{
                            type: z.ZodLiteral<"text">;
                        }, "strip", z.ZodTypeAny, {
                            type: "text";
                        }, {
                            type: "text";
                        }>, z.ZodNull]>>;
                        tool_choice: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
                            type: z.ZodLiteral<"function">;
                            function: z.ZodObject<{
                                name: z.ZodString;
                            }, "strip", z.ZodTypeAny, {
                                name: string;
                            }, {
                                name: string;
                            }>;
                        }, "strip", z.ZodTypeAny, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }, {
                            function: {
                                name: string;
                            };
                            type: "function";
                        }>]>>;
                        function_call: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodObject<{
                            name: z.ZodString;
                        }, "strip", z.ZodTypeAny, {
                            name: string;
                        }, {
                            name: string;
                        }>]>>;
                        n: z.ZodOptional<z.ZodNumber>;
                        stop: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        reasoning_effort: z.ZodOptional<z.ZodEnum<["none", "minimal", "low", "medium", "high"]>>;
                        verbosity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        max_tokens: z.ZodNumber;
                        temperature: z.ZodNumber;
                        top_p: z.ZodOptional<z.ZodNumber>;
                        top_k: z.ZodOptional<z.ZodNumber>;
                        stop_sequences: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                        max_tokens_to_sample: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        maxOutputTokens: z.ZodOptional<z.ZodNumber>;
                        topP: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                        temperature: z.ZodOptional<z.ZodNumber>;
                        topK: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
                        use_cache: z.ZodOptional<z.ZodBoolean>;
                        reasoning_enabled: z.ZodOptional<z.ZodBoolean>;
                        reasoning_budget: z.ZodOptional<z.ZodNumber>;
                    }, z.ZodTypeAny, "passthrough"> | undefined;
                    model?: string | undefined;
                    position?: string | undefined;
                } | null | undefined;
                prompt?: {
                    type: "chat";
                    messages: ({
                        role: "system";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "user";
                        content: string | ({
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        } | {
                            type: "image_url";
                            image_url: {
                                url: string;
                                detail?: "auto" | "low" | "high" | undefined;
                            };
                        } | {
                            type: "file";
                            file: {
                                filename?: string | undefined;
                                file_data?: string | undefined;
                                file_id?: string | undefined;
                            };
                        })[];
                        name?: string | undefined;
                    } | {
                        role: "assistant";
                        name?: string | undefined;
                        function_call?: {
                            name: string;
                            arguments: string;
                        } | undefined;
                        content?: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[] | null | undefined;
                        tool_calls?: {
                            function: {
                                name: string;
                                arguments: string;
                            };
                            type: "function";
                            id: string;
                        }[] | undefined;
                        reasoning?: {
                            id?: string | undefined;
                            content?: string | undefined;
                        }[] | undefined;
                        reasoning_signature?: string | undefined;
                    } | {
                        role: "tool";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        tool_call_id?: string | undefined;
                    } | {
                        role: "function";
                        name: string;
                        content: string | null;
                    } | {
                        role: "developer";
                        content: string | {
                            type: "text";
                            text?: string | undefined;
                            cache_control?: {
                                type: "ephemeral";
                            } | undefined;
                        }[];
                        name?: string | undefined;
                    } | {
                        role: "model";
                        content?: string | null | undefined;
                    })[];
                    tools?: string | undefined;
                } | {
                    type: "completion";
                    content: string;
                } | null | undefined;
                origin?: {
                    project_id?: string | undefined;
                    prompt_id?: string | undefined;
                    prompt_version?: string | undefined;
                } | null | undefined;
                parser?: {
                    type: "llm_classifier";
                    use_cot: boolean;
                    choice_scores?: Record<string, number> | undefined;
                    choice?: string[] | undefined;
                    allow_no_match?: boolean | undefined;
                } | null | undefined;
                tool_functions?: ({
                    type: "function";
                    id: string;
                    version?: string | undefined;
                } | {
                    type: "global";
                    name: string;
                    function_type?: "llm" | "scorer" | "task" | "tool" | "custom_view" | "preprocessor" | "facet" | "classifier" | "tag" | "parameters" | "sandbox" | undefined;
                })[] | null | undefined;
                template_format?: "none" | "mustache" | "nunjucks" | null | undefined;
                mcp?: Record<string, {
                    type: "id";
                    id: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                } | {
                    type: "url";
                    url: string;
                    is_disabled?: boolean | undefined;
                    enabled_tools?: string[] | null | undefined;
                }> | null | undefined;
            } | undefined;
        } | {
            type: "model";
            description?: string | undefined;
            default?: string | undefined;
        } | {
            type: "data";
            schema: Record<string, unknown>;
            description?: string | undefined;
            default?: unknown;
        }>;
        source?: null | undefined;
    } | null | undefined;
    scores?: {
        name: string;
    }[] | undefined;
    classifiers?: {
        name: string;
    }[] | undefined;
}>>;
type EvaluatorDefinitions = z.infer<typeof evaluatorDefinitionsSchema>;

type NameOrId = {
    name: string;
} | {
    id: string;
};
type CreateProjectOpts = NameOrId;
declare class ProjectBuilder {
    create(opts: CreateProjectOpts): Project;
}
declare const projects: ProjectBuilder;
declare class Project {
    readonly name?: string;
    readonly id?: string;
    tools: ToolBuilder;
    prompts: PromptBuilder;
    parameters: ParametersBuilder;
    scorers: ScorerBuilder;
    classifiers: ClassifierBuilder;
    private _publishableCodeFunctions;
    private _publishablePrompts;
    private _publishableParameters;
    constructor(args: CreateProjectOpts);
    addPrompt(prompt: CodePrompt): void;
    addParameters(parameters: CodeParameters): void;
    addCodeFunction(fn: CodeFunction<any, any, GenericFunction<any, any>>): void;
    publish(): Promise<void>;
}
declare class ToolBuilder {
    private readonly project;
    private taskCounter;
    constructor(project: Project);
    create<TParams extends {
        _output: any;
        _input: any;
        _def: any;
    }, TReturns extends {
        _output: any;
        _input: any;
        _def: any;
    }, THandler extends GenericFunction<TParams["_output"], TReturns["_output"]>>(opts: Partial<BaseFnOpts> & {
        handler: THandler;
        parameters: TParams;
        returns: TReturns;
    }): CodeFunction<TParams["_output"], TReturns["_output"], THandler>;
    create<THandler extends GenericFunction<any, any>>(opts: Partial<BaseFnOpts> & {
        handler: THandler;
        parameters?: any;
        returns?: any;
    }): CodeFunction<any, any, THandler>;
}
declare class ScorerBuilder {
    private readonly project;
    private taskCounter;
    constructor(project: Project);
    create<Output, Input, Params, Returns, Fn extends GenericFunction<Exact<Params, ScorerArgs<Output, Input>>, Returns>>(opts: ScorerOpts<Output, Input, Params, Returns, Fn>): void;
}
declare class ClassifierBuilder {
    private readonly project;
    private taskCounter;
    constructor(project: Project);
    create<Output, Input, Params, Returns, Fn extends GenericFunction<Exact<Params, ScorerArgs<Output, Input>>, Returns>>(opts: ClassifierOpts<Output, Input, Params, Returns, Fn>): CodeFunction<Exact<Params, ScorerArgs<Output, Input>>, Returns, Fn>;
}
type Schema<Input, Output> = Partial<{
    parameters: z.ZodSchema<Input>;
    returns: z.ZodSchema<Output>;
}>;
type CodeOpts<Params, Returns, Fn extends GenericFunction<Params, Returns>> = Partial<BaseFnOpts> & {
    handler: Fn;
    metadata?: Record<string, unknown>;
} & Schema<Params, Returns>;
type ScorerPromptOpts = Partial<BaseFnOpts> & PromptOpts<false, false, false, false> & {
    useCot: boolean;
    choiceScores: Record<string, number>;
    metadata?: Record<string, unknown>;
};
type ScorerArgs<Output, Input> = {
    output: Output;
    expected?: Output;
    input?: Input;
    metadata?: Record<string, unknown>;
    trace?: Trace;
};
type Exact<T, Shape> = T extends Shape ? Exclude<keyof T, keyof Shape> extends never ? T : never : never;
type ScorerOptsUnion<Output, Input, Params, Returns, Fn extends GenericFunction<Exact<Params, ScorerArgs<Output, Input>>, Returns>> = CodeOpts<Exact<Params, ScorerArgs<Output, Input>>, Returns, Fn> | ScorerPromptOpts;
type ScorerOpts<Output, Input, Params, Returns, Fn extends GenericFunction<Exact<Params, ScorerArgs<Output, Input>>, Returns>> = ScorerOptsUnion<Output, Input, Params, Returns, Fn> & {
    metadata?: Record<string, unknown>;
};
type ClassifierOpts<Output, Input, Params, Returns, Fn extends GenericFunction<Exact<Params, ScorerArgs<Output, Input>>, Returns>> = CodeOpts<Exact<Params, ScorerArgs<Output, Input>>, Returns, Fn> & {
    metadata?: Record<string, unknown>;
};
declare class CodeFunction<Input, Output, Fn extends GenericFunction<Input, Output>> {
    readonly project: Project;
    readonly handler: Fn;
    readonly name: string;
    readonly slug: string;
    readonly type: FunctionTypeEnumType;
    readonly description?: string;
    readonly parameters?: z.ZodSchema<Input>;
    readonly returns?: z.ZodSchema<Output>;
    readonly ifExists?: IfExistsType;
    readonly tags?: string[];
    readonly metadata?: Record<string, unknown>;
    constructor(project: Project, opts: Omit<CodeOpts<Input, Output, Fn>, "name" | "slug"> & {
        name: string;
        slug: string;
        type: FunctionTypeEnumType;
    });
    key(): string;
}
type GenericCodeFunction = CodeFunction<any, any, GenericFunction<any, any>>;
declare class CodePrompt {
    readonly project: Project;
    readonly name: string;
    readonly slug: string;
    readonly prompt: PromptDataType;
    readonly ifExists?: IfExistsType;
    readonly description?: string;
    readonly id?: string;
    readonly functionType?: FunctionTypeEnumType;
    readonly toolFunctions: (SavedFunctionIdType | GenericCodeFunction)[];
    readonly tags?: string[];
    readonly metadata?: Record<string, unknown>;
    readonly environmentSlugs?: string[];
    constructor(project: Project, prompt: PromptDataType, toolFunctions: (SavedFunctionIdType | GenericCodeFunction)[], opts: Omit<PromptOpts<false, false, false, false>, "name" | "slug"> & {
        name: string;
        slug: string;
    }, functionType?: FunctionTypeEnumType);
    toFunctionDefinition(projectNameToId: ProjectNameIdMap): Promise<FunctionEvent>;
}
interface PromptId {
    id: string;
}
interface PromptVersion {
    version: TransactionId;
}
interface PromptTools {
    tools: (GenericCodeFunction | SavedFunctionIdType | ToolFunctionDefinitionType)[];
}
interface PromptNoTrace {
    noTrace: boolean;
}
type PromptOpts<HasId extends boolean, HasVersion extends boolean, HasTools extends boolean = true, HasNoTrace extends boolean = true> = (Partial<Omit<BaseFnOpts, "name">> & {
    name: string;
}) & (HasId extends true ? PromptId : Partial<PromptId>) & (HasVersion extends true ? PromptVersion : Partial<PromptVersion>) & (HasTools extends true ? Partial<PromptTools> : {}) & (HasNoTrace extends true ? Partial<PromptNoTrace> : {}) & PromptDefinition;
declare class PromptBuilder {
    private readonly project;
    constructor(project: Project);
    create<HasId extends boolean = false, HasVersion extends boolean = false>(opts: PromptOpts<HasId, HasVersion>): Prompt<HasId, HasVersion>;
}
interface ParametersOpts<S extends EvalParameters> {
    name: string;
    slug?: string;
    description?: string;
    schema: S;
    ifExists?: IfExistsType;
    metadata?: Record<string, unknown>;
}
declare class CodeParameters {
    readonly project: Project;
    readonly name: string;
    readonly slug: string;
    readonly description?: string;
    readonly schema: EvalParameters;
    readonly ifExists?: IfExistsType;
    readonly metadata?: Record<string, unknown>;
    constructor(project: Project, opts: {
        name: string;
        slug: string;
        description?: string;
        schema: EvalParameters;
        ifExists?: IfExistsType;
        metadata?: Record<string, unknown>;
    });
    toFunctionDefinition(projectNameToId: ProjectNameIdMap): Promise<FunctionEvent>;
}
declare class ParametersBuilder {
    private readonly project;
    constructor(project: Project);
    create<S extends EvalParameters>(opts: ParametersOpts<S>): S;
}
interface FunctionEvent {
    project_id: string;
    slug: string;
    name: string;
    description: string;
    prompt_data?: PromptDataType;
    function_data: z.infer<typeof FunctionData>;
    function_type?: FunctionTypeEnumType;
    if_exists?: IfExistsType;
    tags?: string[];
    metadata?: Record<string, unknown>;
    environments?: {
        slug: string;
    }[];
}
declare class ProjectNameIdMap {
    private nameToId;
    private idToName;
    getId(projectName: string): Promise<string>;
    getName(projectId: string): Promise<string>;
    resolve(project: Project): Promise<string>;
}

interface ProgressReporter {
    start: (name: string, total: number) => void;
    stop: () => void;
    increment: (name: string) => void;
    setTotal?: (name: string, total: number) => void;
}
interface ReporterOpts {
    verbose: boolean;
    jsonl: boolean;
}
interface ReporterBody<EvalReport> {
    /**
     * A function that takes an evaluator and its result and returns a report.
     *
     * @param evaluator
     * @param result
     * @param opts
     */
    reportEval(evaluator: EvaluatorDef<any, any, any, any, any>, result: EvalResultWithSummary<any, any, any, any>, opts: ReporterOpts): Promise<EvalReport> | EvalReport;
    /**
     * A function that takes all evaluator results and returns a boolean indicating
     * whether the run was successful. If you return false, the `braintrust eval`
     * command will exit with a non-zero status code.
     *
     * @param reports
     */
    reportRun(reports: EvalReport[]): boolean | Promise<boolean>;
}
type ReporterDef<EvalReport> = {
    name: string;
} & ReporterBody<EvalReport>;

type BaseExperiment<Input, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = {
    _type: "BaseExperiment";
    _phantom?: [Input, Expected, Metadata];
    name?: string;
};
/**
 * Use this to specify that the dataset should actually be the data from a previous (base) experiment.
 * If you do not specify a name, Braintrust will automatically figure out the best base experiment to
 * use based on your git history (or fall back to timestamps).
 *
 * @param options
 * @param options.name The name of the base experiment to use. If unspecified, Braintrust will automatically figure out the best base
 * using your git history (or fall back to timestamps).
 * @returns
 */
declare function BaseExperiment<Input = unknown, Expected = unknown, Metadata extends BaseMetadata = DefaultMetadataType>(options?: {
    name?: string;
}): BaseExperiment<Input, Expected, Metadata>;
type EvalData<Input, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalCase<Input, Expected, Metadata>[] | (() => EvalCase<Input, Expected, Metadata>[]) | Promise<EvalCase<Input, Expected, Metadata>[]> | (() => Promise<EvalCase<Input, Expected, Metadata>[]>) | AsyncGenerator<EvalCase<Input, Expected, Metadata>> | AsyncIterable<EvalCase<Input, Expected, Metadata>> | BaseExperiment<Input, Expected, Metadata> | (() => BaseExperiment<Input, Expected, Metadata>);
type EvalTask<Input, Output, Expected, Metadata extends BaseMetadata, Parameters extends EvalParameters> = ((input: Input, hooks: EvalHooks<Expected, Metadata, Parameters>) => Promise<Output>) | ((input: Input, hooks: EvalHooks<Expected, Metadata, Parameters>) => Output);
type TaskProgressEvent = Omit<SSEProgressEventDataType, "id" | "origin" | "object_type" | "name">;
interface EvalHooks<Expected, Metadata extends BaseMetadata, Parameters extends EvalParameters> {
    /**
     * @deprecated Use `metadata` instead.
     */
    meta: (info: Metadata) => void;
    /**
     * The metadata object for the current evaluation. You can mutate this object to add or remove metadata.
     */
    metadata: Metadata extends void ? Record<string, unknown> : Metadata;
    /**
     * The expected output for the current evaluation.
     */
    expected: Expected;
    /**
     * The task's span.
     */
    span: Span;
    /**
     * The current parameters being used for this specific task execution.
     * Array parameters are converted to single values.
     */
    parameters: InferParameters<Parameters>;
    /**
     * Report progress that will show up in the playground.
     */
    reportProgress: (progress: TaskProgressEvent) => void;
    /**
     * The index of the current trial (0-based). This is useful when trialCount > 1.
     */
    trialIndex: number;
    /**
     * The tags for the current evaluation.
     */
    tags: string[] | undefined;
}
type EvalScorerArgs<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalCase<Input, Expected, Metadata> & {
    output: Output;
    trace?: Trace;
};
type OneOrMoreScores = Score | number | null | Array<Score>;
type EvalScorer<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = (args: EvalScorerArgs<Input, Output, Expected, Metadata>) => OneOrMoreScores | Promise<OneOrMoreScores>;
type OneOrMoreClassifications = Classification | Classification[] | null;
type EvalClassifier<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = (args: EvalScorerArgs<Input, Output, Expected, Metadata>) => OneOrMoreClassifications | Promise<OneOrMoreClassifications>;
type EvalResult<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalCase<Input, Expected, Metadata> & {
    output: Output;
    error: unknown;
    origin?: ObjectReferenceType$1;
    scores: Record<string, number | null>;
    classifications?: Record<string, ClassificationItem[]>;
};
type ErrorScoreHandler = (args: {
    rootSpan: Span;
    data: EvalCase<any, any, any>;
    unhandledScores: string[];
}) => Record<string, number> | undefined | void;
/**
 * Defines an evaluator. At least one of `scores` or `classifiers` must be provided.
 */
interface Evaluator<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType, Parameters extends EvalParameters = EvalParameters> {
    /**
     * A function that returns a list of inputs, expected outputs, and metadata.
     */
    data: EvalData<Input, Expected, Metadata>;
    /**
     * A function that takes an input and returns an output.
     */
    task: EvalTask<Input, Output, Expected, Metadata, Parameters>;
    /**
     * A set of functions that take an input, output, and expected value and return a {@link Score}.
     * At least one of `scores` or `classifiers` must be provided.
     */
    scores?: EvalScorer<Input, Output, Expected, Metadata>[];
    /**
     * A set of functions that take an input, output, and expected value and return a
     * {@link Classification}. Results are recorded under the `classifications` column.
     * At least one of `scores` or `classifiers` must be provided.
     */
    classifiers?: EvalClassifier<Input, Output, Expected, Metadata>[];
    /**
     * A set of parameters that will be passed to the evaluator.
     * Can be:
     * - A raw EvalParameters schema (Zod schemas)
     * - A Parameters instance from loadParameters()
     * - A Promise<Parameters> from loadParameters()
     */
    parameters?: Parameters | RemoteEvalParameters<boolean, boolean, InferParameters<Parameters>> | Promise<RemoteEvalParameters<boolean, boolean, InferParameters<Parameters>>>;
    /**
     * An optional name for the experiment.
     */
    experimentName?: string;
    /**
     * An optional description for the experiment.
     */
    description?: string;
    /**
     * The number of times to run the evaluator per input. This is useful for evaluating applications that
     * have non-deterministic behavior and gives you both a stronger aggregate measure and a sense of the
     * variance in the results.
     */
    trialCount?: number;
    /**
     * Optional additional metadata for the experiment.
     */
    metadata?: Record<string, unknown>;
    /**
     * Optional tags for the experiment.
     */
    tags?: string[];
    /**
     * Whether the experiment should be public. Defaults to false.
     */
    isPublic?: boolean;
    /**
     * Whether to update an existing experiment with `experiment_name` if one exists. Defaults to false.
     */
    update?: boolean;
    /**
     * The duration, in milliseconds, after which to time out the evaluation.
     * Defaults to undefined, in which case there is no timeout.
     */
    timeout?: number;
    /**
     * An abort signal that can be used to stop the evaluation.
     */
    signal?: AbortSignal;
    /**
     * The maximum number of tasks/scorers that will be run concurrently.
     * Defaults to undefined, in which case there is no max concurrency.
     */
    maxConcurrency?: number;
    /**
     * If specified, uses the given project ID instead of the evaluator's name to identify the project.
     */
    projectId?: string;
    /**
     * If specified, uses the logger state to initialize Braintrust objects. If unspecified, falls back
     * to the global state (initialized using your API key).
     */
    state?: BraintrustState;
    /**
     * An optional experiment name to use as a base. If specified, the new experiment will be summarized
     * and compared to this experiment.
     */
    baseExperimentName?: string;
    /**
     * An optional experiment id to use as a base. If specified, the new experiment will be summarized
     * and compared to this experiment. This takes precedence over `baseExperimentName` if specified.
     */
    baseExperimentId?: string;
    /**
     * Optional settings for collecting git metadata. By default, Braintrust collects the git metadata fields allowed by your organization's git metadata settings. If those settings are absent, git metadata is not collected unless this option is set.
     */
    gitMetadataSettings?: GitMetadataSettingsType;
    /**
     * Optionally explicitly specify the git metadata for this experiment. This takes precedence over `gitMetadataSettings` if specified.
     */
    repoInfo?: RepoInfoType;
    /**
     * Optionally supply a custom function to specifically handle score values when tasks or scoring functions have errored.
     * A default implementation is exported as `defaultErrorScoreHandler` which will log a 0 score to the root span for any scorer that was not run.
     */
    errorScoreHandler?: ErrorScoreHandler;
    /**
     * Whether to summarize the scores of the experiment after it has run.
     * Defaults to true.
     */
    summarizeScores?: boolean;
    /**
     * Flushes spans before calling scoring functions
     */
    flushBeforeScoring?: boolean;
}
declare class EvalResultWithSummary<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType> {
    summary: ExperimentSummary;
    results: EvalResult<Input, Output, Expected, Metadata>[];
    constructor(summary: ExperimentSummary, results: EvalResult<Input, Output, Expected, Metadata>[]);
    /**
     * @deprecated Use `summary` instead.
     */
    toString(): string;
    toJSON(): {
        summary: ExperimentSummary;
        results: EvalResult<Input, Output, Expected, Metadata>[];
    };
}

type EvaluatorDef<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType, Parameters extends EvalParameters = EvalParameters> = {
    projectName: string;
    evalName: string;
} & Evaluator<Input, Output, Expected, Metadata, Parameters>;
type EvaluatorFile = {
    functions: CodeFunction<unknown, unknown, GenericFunction<unknown, unknown>>[];
    prompts: CodePrompt[];
    parameters?: CodeParameters[];
    evaluators: {
        [evalName: string]: {
            evaluator: EvaluatorDef<unknown, unknown, unknown, BaseMetadata, EvalParameters>;
            reporter?: ReporterDef<unknown> | string;
        };
    };
    reporters: {
        [reporterName: string]: ReporterDef<unknown>;
    };
};
type SpanContext = {
    currentSpan: typeof currentSpan;
    startSpan: typeof startSpan;
    withCurrent: typeof withCurrent;
    NOOP_SPAN: typeof NOOP_SPAN;
};
declare global {
    var _evals: EvaluatorFile;
    var _spanContext: SpanContext | undefined;
    var _lazy_load: boolean;
}
interface EvalOptions<EvalReport, Parameters extends EvalParameters> {
    /**
     * A `Reporter` which you can use to summarize progress after an Eval() runs.
     */
    reporter?: ReporterDef<EvalReport> | string;
    /**
     * Do not send logs to Braintrust. When true, the evaluation runs locally
     * and builds a local summary instead of creating an experiment. Defaults to false.
     */
    noSendLogs?: boolean;
    /**
     * A callback function that will be called when an experiment is started with
     * information about its project, experiment id, name, and other useful information.
     * @param metadata
     */
    onStart?: (metadata: Omit<ExperimentSummary, "scores" | "metrics">) => void;
    /**
     * A function that will be called with progress events, which can be used to
     * display intermediate progress.
     *
     * @param data
     */
    stream?: (data: SSEProgressEventDataType) => void;
    /**
     * If specified, instead of creating a new experiment object, the Eval() will populate
     * the object or span specified by this parent.
     */
    parent?: string;
    /**
     * Specify this to create a custom progress-bar style reporter. Note that this interface
     * is somewhat outdated, and may be removed in the future.
     */
    progress?: ProgressReporter;
    /**
     * The parameters to use for the evaluator.
     */
    parameters?: InferParameters<Parameters>;
    /**
     * Whether to retain the per-example Eval results and return them from Eval().
     *
     * When `true` (default): All evaluation results are collected in memory and returned,
     * allowing inspection of individual test case inputs, outputs, scores, and metadata.
     * This is convenient for interactive analysis but can consume significant memory for
     * large datasets (e.g., millions of examples).
     *
     * When `false`: Individual results are not retained in memory. Only aggregate score
     * statistics are computed incrementally. The returned `results` array will be empty,
     * but the `summary` will still contain accurate score aggregates. This is suitable for:
     * - Large-scale evaluations (millions of examples)
     * - Memory-constrained environments
     * - Scenarios where only aggregate metrics are needed
     *
     * Note: When `false`, you cannot access individual test case results after evaluation.
     * If you need to inspect specific failures or outputs, keep this as `true`.
     *
     * Defaults to `true` for backwards compatibility.
     *
     * @example
     * // Memory-efficient evaluation of a large dataset
     * await Eval("large-eval", evaluator, {
     *   returnResults: false  // Only keep aggregate scores
     * });
     */
    returnResults?: boolean;
    /**
     * Whether to enable the span cache for this evaluation. The span cache stores span data on disk
     * to minimize memory usage and allow scorers to read spans without server round-trips. Defaults to true.
     * Set to false to disable caching if you are doing distributed evaluation or want to reduce disk I/O.
     *
     * @example
     * // Disable span cache
     * await Eval("my-eval", evaluator, {
     *   enableCache: false
     * });
     */
    enableCache?: boolean;
}
declare function Eval<Input, Output, Expected = void, Metadata extends BaseMetadata = DefaultMetadataType, EvalReport = boolean, Parameters extends EvalParameters = EvalParameters>(name: string, evaluator: Evaluator<Input, Output, Expected, Metadata, Parameters>, reporterOrOpts?: ReporterDef<EvalReport> | string | EvalOptions<EvalReport, Parameters>): Promise<EvalResultWithSummary<Input, Output, Expected, Metadata>>;
declare function Reporter<EvalReport>(name: string, reporter: ReporterBody<EvalReport>): ReporterDef<EvalReport>;
interface Filter {
    path: string[];
    pattern: RegExp;
}
declare function runEvaluator(experiment: Experiment | null, evaluator: EvaluatorDef<any, any, any, any, any>, progressReporter: ProgressReporter, filters: Filter[], stream: ((data: SSEProgressEventDataType) => void) | undefined, parameters?: InferParameters<EvalParameters>, collectResults?: boolean, enableCache?: boolean): Promise<EvalResultWithSummary<any, any, any, any>>;
declare const defaultErrorScoreHandler: ErrorScoreHandler;
type ScoreAccumulator = {
    [name: string]: {
        total: number;
        count: number;
    };
};
declare function buildLocalSummary(evaluator: EvaluatorDef<any, any, any, any>, results: EvalResult<any, any, any, any>[], precomputedScores?: ScoreAccumulator): ExperimentSummary;
declare function reportFailures<Input, Output, Expected, Metadata extends BaseMetadata>(evaluator: EvaluatorDef<Input, Output, Expected, Metadata>, failingResults: EvalResult<Input, Output, Expected, Metadata>[], { verbose, jsonl }: ReporterOpts): void;

type DatasetPipelineRow = {
    input?: unknown;
    expected?: unknown;
    tags?: string[];
    metadata?: Record<string, unknown>;
    id?: string;
};
type DatasetPipelineTransformResult = DatasetPipelineRow | DatasetPipelineRow[] | null | undefined;
type DatasetPipelineDefinition<Scope extends "span" | "trace"> = {
    /** The name of the dataset pipeline as it will show up in Braintrust */
    name?: string;
    /** Information about what spans/traces should be passed into the dataset pipeline. */
    source: {
        /** What project to take spans/traces from. Has precedence over `projectName`. */
        projectId?: string;
        /** What project to take spans/traces from. */
        projectName?: string;
        /** What organization to take spans/traces from. */
        orgName?: string;
        /** An optional BTQL filter to filter spans by. Not providing this filter means all spans/traces are eligible for the pipeline. */
        filter?: string;
        /**
         * Whether to pass exclusively spans or entire traces to the pipeline. Affects the transform input arguments.
         *
         * Defaults to: `"span"`
         */
        scope?: Scope;
    };
    /**
     * A transformation function that either receives a span or a trace, depending on what scope was defined in the `source.scope` option.
     *
     * Can return one or more new rows for the target dataset, or `null`/`undefined` if no new row should be inserted.
     */
    transform: (transformInput: Scope extends "span" ? {
        id: string;
        input: unknown;
        output: unknown;
        expected: unknown;
        metadata?: Record<string, unknown>;
        trace: Trace;
    } : {
        trace: Trace;
    }) => DatasetPipelineTransformResult | Promise<DatasetPipelineTransformResult>;
    /** Information about the target dataset */
    target: {
        /** Id of the project where the dataset currently lives or should be created or updated. */
        projectId?: string;
        /** Name of the project where the dataset currently lives or should be created or updated. */
        projectName?: string;
        /** Organization name of the project where the dataset currently lives or should be created or updated. */
        orgName?: string;
        /** Name of the dataset. Either the current name or new name if the dataset is created or updated. */
        datasetName: string;
        /** Description of the dataset when the dataset is created or updated. */
        description?: string;
        /** Metadata of the dataset when the dataset is created or updated. */
        metadata?: Record<string, unknown>;
    };
};
/**
 * This is the interface for pipelines that is exposed to `bt`
 */
type DatasetPipelineBtDefinition = {
    name?: string;
    source: {
        projectId?: string;
        projectName?: string;
        orgName?: string;
        filter?: string;
        scope: "span" | "trace";
    };
    transform: (transformInput: {
        id: string;
        input: unknown;
        output: unknown;
        expected: unknown;
        metadata?: Record<string, unknown>;
        trace: Trace;
    } | {
        trace: Trace;
    }) => DatasetPipelineTransformResult | Promise<DatasetPipelineTransformResult>;
    target: {
        projectId?: string;
        projectName?: string;
        orgName?: string;
        datasetName: string;
        description?: string;
        metadata?: Record<string, unknown>;
    };
};
declare global {
    var __braintrust_dataset_pipelines: DatasetPipelineBtDefinition[] | undefined;
}
/**
 * Creates a runnable dataset pipeline.
 *
 * Dataset pipelines can be used to take trace data stored in Braintrust, filter and transform it, and directly feed it back into a Braintrust dataset.
 *
 * You can run a dataset pipeline with the `bt` CLI using `bt datasets pipeline run some-file-path.ts --limit 100`.
 * The limit option controls how many spans/traces (depending on the `definition.source.scope` option) are discovered for the pipeline.
 *
 * @experimental - The API for this function is not yet stabilized and may change or be removed across non-major versions. Functionality is not guaranteed.
 */
declare function DatasetPipeline<Scope extends "span" | "trace">(definition: DatasetPipelineDefinition<Scope>): void;

interface InstrumentationIntegrationsConfig {
    openai?: boolean;
    anthropic?: boolean;
    vercel?: boolean;
    aisdk?: boolean;
    google?: boolean;
    googleGenAI?: boolean;
    googleADK?: boolean;
    huggingface?: boolean;
    claudeAgentSDK?: boolean;
    cursor?: boolean;
    cursorSDK?: boolean;
    flue?: boolean;
    mastra?: boolean;
    openAIAgents?: boolean;
    openrouter?: boolean;
    openrouterAgent?: boolean;
    mistral?: boolean;
    cohere?: boolean;
    groq?: boolean;
    genkit?: boolean;
    gitHubCopilot?: boolean;
    openaiCodexSDK?: boolean;
    piCodingAgent?: boolean;
    langchain?: boolean;
    langgraph?: boolean;
}
interface InstrumentationConfig {
    /**
     * Configuration for individual SDK integrations.
     * Set to false to disable instrumentation for that SDK.
     */
    integrations?: InstrumentationIntegrationsConfig;
}

type FlueObserver = (event: unknown, ctx?: unknown) => void;
/**
 * Braintrust's Flue observe subscriber.
 *
 * Pass this directly to @flue/runtime/app.observe:
 *
 *   const unsubscribe = observe(braintrustFlueObserver);
 */
declare const braintrustFlueObserver: FlueObserver;

/**
 * Plugin registry and configuration for auto-instrumentation.
 *
 * Plugins are automatically enabled when the Braintrust library is loaded.
 * Users can disable specific integrations programmatically or via environment variables.
 */

/**
 * Configure auto-instrumentation.
 *
 * This must be called before importing any AI SDKs to take effect.
 *
 * @example
 * ```typescript
 * import { configureInstrumentation } from 'braintrust';
 *
 * // Disable OpenAI instrumentation
 * configureInstrumentation({
 *   integrations: { openai: false }
 * });
 *
 * // Now import SDKs
 * import OpenAI from 'openai';
 * ```
 *
 * Environment variables can also be used:
 * ```bash
 * # Disable single SDK
 * BRAINTRUST_DISABLE_INSTRUMENTATION=openai node app.js
 *
 * # Disable multiple SDKs
 * BRAINTRUST_DISABLE_INSTRUMENTATION=openai,anthropic node app.js
 * ```
 */
declare function configureInstrumentation(config: InstrumentationConfig): void;

type exports$1_AnyDataset = AnyDataset;
type exports$1_Attachment = Attachment;
declare const exports$1_Attachment: typeof Attachment;
type exports$1_AttachmentParams = AttachmentParams;
declare const exports$1_AttachmentReference: typeof AttachmentReference;
declare const exports$1_BRAINTRUST_CURRENT_SPAN_STORE: typeof BRAINTRUST_CURRENT_SPAN_STORE;
declare const exports$1_BRAINTRUST_LANGCHAIN_CALLBACK_HANDLER_NAME: typeof BRAINTRUST_LANGCHAIN_CALLBACK_HANDLER_NAME;
type exports$1_BackgroundLoggerOpts = BackgroundLoggerOpts;
type exports$1_BaseAttachment = BaseAttachment;
declare const exports$1_BaseAttachment: typeof BaseAttachment;
declare const exports$1_BaseExperiment: typeof BaseExperiment;
type exports$1_BaseMetadata = BaseMetadata;
type exports$1_BraintrustLangChainCallbackHandler<IsAsyncFlush extends boolean = true> = BraintrustLangChainCallbackHandler<IsAsyncFlush>;
declare const exports$1_BraintrustLangChainCallbackHandler: typeof BraintrustLangChainCallbackHandler;
declare const exports$1_BraintrustMiddleware: typeof BraintrustMiddleware;
type exports$1_BraintrustObservabilityExporter = BraintrustObservabilityExporter;
declare const exports$1_BraintrustObservabilityExporter: typeof BraintrustObservabilityExporter;
type exports$1_BraintrustState = BraintrustState;
declare const exports$1_BraintrustState: typeof BraintrustState;
type exports$1_BraintrustStream = BraintrustStream;
declare const exports$1_BraintrustStream: typeof BraintrustStream;
type exports$1_BraintrustStreamChunk = BraintrustStreamChunk;
type exports$1_CachedSpanFetcher = CachedSpanFetcher;
declare const exports$1_CachedSpanFetcher: typeof CachedSpanFetcher;
type exports$1_ChatPrompt = ChatPrompt;
type exports$1_CodeFunction<Input, Output, Fn extends GenericFunction<Input, Output>> = CodeFunction<Input, Output, Fn>;
declare const exports$1_CodeFunction: typeof CodeFunction;
type exports$1_CodeOpts<Params, Returns, Fn extends GenericFunction<Params, Returns>> = CodeOpts<Params, Returns, Fn>;
type exports$1_CodePrompt = CodePrompt;
declare const exports$1_CodePrompt: typeof CodePrompt;
type exports$1_CommentEvent = CommentEvent;
type exports$1_CompiledPrompt<Flavor extends "chat" | "completion"> = CompiledPrompt<Flavor>;
type exports$1_CompiledPromptParams = CompiledPromptParams;
type exports$1_CompletionPrompt = CompletionPrompt;
type exports$1_ContextManager = ContextManager;
declare const exports$1_ContextManager: typeof ContextManager;
type exports$1_ContextParentSpanIds = ContextParentSpanIds;
type exports$1_CreateProjectOpts = CreateProjectOpts;
type exports$1_CurrentSpanStore = CurrentSpanStore;
declare const exports$1_DEFAULT_FETCH_BATCH_SIZE: typeof DEFAULT_FETCH_BATCH_SIZE;
declare const exports$1_DEFAULT_MAX_REQUEST_SIZE: typeof DEFAULT_MAX_REQUEST_SIZE;
type exports$1_DataSummary = DataSummary;
type exports$1_Dataset<IsLegacyDataset extends boolean = typeof DEFAULT_IS_LEGACY_DATASET> = Dataset<IsLegacyDataset>;
declare const exports$1_Dataset: typeof Dataset;
declare const exports$1_DatasetPipeline: typeof DatasetPipeline;
type exports$1_DatasetRecord<IsLegacyDataset extends boolean = typeof DEFAULT_IS_LEGACY_DATASET> = DatasetRecord<IsLegacyDataset>;
type exports$1_DatasetRestorePreviewResult = DatasetRestorePreviewResult;
type exports$1_DatasetRestoreResult = DatasetRestoreResult;
type exports$1_DatasetSummary = DatasetSummary;
type exports$1_DefaultMetadataType = DefaultMetadataType;
type exports$1_DefaultPromptArgs = DefaultPromptArgs;
declare const exports$1_ERR_PERMALINK: typeof ERR_PERMALINK;
type exports$1_EndSpanArgs = EndSpanArgs;
declare const exports$1_Eval: typeof Eval;
type exports$1_EvalCase<Input, Expected, Metadata> = EvalCase<Input, Expected, Metadata>;
type exports$1_EvalClassifier<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalClassifier<Input, Output, Expected, Metadata>;
type exports$1_EvalHooks<Expected, Metadata extends BaseMetadata, Parameters extends EvalParameters> = EvalHooks<Expected, Metadata, Parameters>;
type exports$1_EvalParameterSerializedSchema = EvalParameterSerializedSchema;
type exports$1_EvalParameters = EvalParameters;
type exports$1_EvalResult<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalResult<Input, Output, Expected, Metadata>;
type exports$1_EvalResultWithSummary<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalResultWithSummary<Input, Output, Expected, Metadata>;
declare const exports$1_EvalResultWithSummary: typeof EvalResultWithSummary;
type exports$1_EvalScorer<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalScorer<Input, Output, Expected, Metadata>;
type exports$1_EvalScorerArgs<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType> = EvalScorerArgs<Input, Output, Expected, Metadata>;
type exports$1_EvalTask<Input, Output, Expected, Metadata extends BaseMetadata, Parameters extends EvalParameters> = EvalTask<Input, Output, Expected, Metadata, Parameters>;
type exports$1_Evaluator<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType, Parameters extends EvalParameters = EvalParameters> = Evaluator<Input, Output, Expected, Metadata, Parameters>;
type exports$1_EvaluatorDef<Input, Output, Expected, Metadata extends BaseMetadata = DefaultMetadataType, Parameters extends EvalParameters = EvalParameters> = EvaluatorDef<Input, Output, Expected, Metadata, Parameters>;
type exports$1_EvaluatorDefinition = EvaluatorDefinition;
type exports$1_EvaluatorDefinitions = EvaluatorDefinitions;
type exports$1_EvaluatorFile = EvaluatorFile;
type exports$1_EvaluatorManifest = EvaluatorManifest;
type exports$1_Experiment = Experiment;
declare const exports$1_Experiment: typeof Experiment;
type exports$1_ExperimentLogFullArgs = ExperimentLogFullArgs;
type exports$1_ExperimentLogPartialArgs = ExperimentLogPartialArgs;
type exports$1_ExperimentSummary = ExperimentSummary;
type exports$1_Exportable = Exportable;
type exports$1_ExternalAttachment = ExternalAttachment;
declare const exports$1_ExternalAttachment: typeof ExternalAttachment;
type exports$1_ExternalAttachmentParams = ExternalAttachmentParams;
type exports$1_FailedHTTPResponse = FailedHTTPResponse;
declare const exports$1_FailedHTTPResponse: typeof FailedHTTPResponse;
type exports$1_FullInitDatasetOptions<IsLegacyDataset extends boolean> = FullInitDatasetOptions<IsLegacyDataset>;
type exports$1_FullInitOptions<IsOpen extends boolean> = FullInitOptions<IsOpen>;
type exports$1_FullLoginOptions = FullLoginOptions;
type exports$1_FunctionEvent = FunctionEvent;
type exports$1_GetThreadOptions = GetThreadOptions;
type exports$1_IDGenerator = IDGenerator;
declare const exports$1_IDGenerator: typeof IDGenerator;
type exports$1_IdField = IdField;
type exports$1_InitDatasetOptions<IsLegacyDataset extends boolean> = InitDatasetOptions<IsLegacyDataset>;
type exports$1_InitLoggerOptions<IsAsyncFlush> = InitLoggerOptions<IsAsyncFlush>;
type exports$1_InitOptions<IsOpen extends boolean> = InitOptions<IsOpen>;
type exports$1_InputField = InputField;
type exports$1_InstrumentationConfig = InstrumentationConfig;
type exports$1_InvokeFunctionArgs<Input, Output, Stream extends boolean = false> = InvokeFunctionArgs<Input, Output, Stream>;
type exports$1_InvokeReturn<Stream extends boolean, Output> = InvokeReturn<Stream, Output>;
type exports$1_JSONAttachment = JSONAttachment;
declare const exports$1_JSONAttachment: typeof JSONAttachment;
declare const exports$1_LEGACY_CACHED_HEADER: typeof LEGACY_CACHED_HEADER;
declare const exports$1_LOGS3_OVERFLOW_REFERENCE_TYPE: typeof LOGS3_OVERFLOW_REFERENCE_TYPE;
type exports$1_LangChainCallbackHandlerOptions<IsAsyncFlush extends boolean> = LangChainCallbackHandlerOptions<IsAsyncFlush>;
type exports$1_LazyValue<T> = LazyValue<T>;
declare const exports$1_LazyValue: typeof LazyValue;
type exports$1_LoadPromptOptions = LoadPromptOptions;
type exports$1_LocalTrace = LocalTrace;
declare const exports$1_LocalTrace: typeof LocalTrace;
type exports$1_LogCommentFullArgs = LogCommentFullArgs;
type exports$1_LogFeedbackFullArgs = LogFeedbackFullArgs;
type exports$1_LogOptions<IsAsyncFlush> = LogOptions<IsAsyncFlush>;
type exports$1_Logger<IsAsyncFlush extends boolean> = Logger<IsAsyncFlush>;
declare const exports$1_Logger: typeof Logger;
type exports$1_LoginInvalidOrgError = LoginInvalidOrgError;
declare const exports$1_LoginInvalidOrgError: typeof LoginInvalidOrgError;
type exports$1_LoginOptions = LoginOptions;
type exports$1_Logs3OverflowInputRow = Logs3OverflowInputRow;
type exports$1_Logs3OverflowUpload = Logs3OverflowUpload;
type exports$1_MastraObservabilityExporter = MastraObservabilityExporter;
type exports$1_MetricSummary = MetricSummary;
declare const exports$1_NOOP_SPAN: typeof NOOP_SPAN;
declare const exports$1_NOOP_SPAN_PERMALINK: typeof NOOP_SPAN_PERMALINK;
type exports$1_NoopSpan = NoopSpan;
declare const exports$1_NoopSpan: typeof NoopSpan;
type exports$1_ObjectFetcher<RecordType> = ObjectFetcher<RecordType>;
declare const exports$1_ObjectFetcher: typeof ObjectFetcher;
type exports$1_ObjectMetadata = ObjectMetadata;
type exports$1_OtherExperimentLogFields = OtherExperimentLogFields;
type exports$1_ParametersSource = ParametersSource;
type exports$1_ParentExperimentIds = ParentExperimentIds;
type exports$1_ParentProjectLogIds = ParentProjectLogIds;
type exports$1_Project = Project;
declare const exports$1_Project: typeof Project;
type exports$1_ProjectNameIdMap = ProjectNameIdMap;
declare const exports$1_ProjectNameIdMap: typeof ProjectNameIdMap;
type exports$1_PromiseUnless<B, R> = PromiseUnless<B, R>;
type exports$1_Prompt<HasId extends boolean = true, HasVersion extends boolean = true> = Prompt<HasId, HasVersion>;
declare const exports$1_Prompt: typeof Prompt;
type exports$1_PromptBuilder = PromptBuilder;
declare const exports$1_PromptBuilder: typeof PromptBuilder;
type exports$1_PromptContents = PromptContents;
type exports$1_PromptDefinition = PromptDefinition;
type exports$1_PromptDefinitionWithTools = PromptDefinitionWithTools;
type exports$1_PromptOpts<HasId extends boolean, HasVersion extends boolean, HasTools extends boolean = true, HasNoTrace extends boolean = true> = PromptOpts<HasId, HasVersion, HasTools, HasNoTrace>;
type exports$1_PromptRowWithId<HasId extends boolean = true, HasVersion extends boolean = true> = PromptRowWithId<HasId, HasVersion>;
type exports$1_ReadonlyAttachment = ReadonlyAttachment;
declare const exports$1_ReadonlyAttachment: typeof ReadonlyAttachment;
type exports$1_ReadonlyExperiment = ReadonlyExperiment;
declare const exports$1_ReadonlyExperiment: typeof ReadonlyExperiment;
type exports$1_RegisterSandboxOptions = RegisterSandboxOptions;
type exports$1_RegisterSandboxResult = RegisterSandboxResult;
declare const exports$1_Reporter: typeof Reporter;
type exports$1_ReporterBody<EvalReport> = ReporterBody<EvalReport>;
type exports$1_SandboxConfig = SandboxConfig;
type exports$1_ScoreSummary = ScoreSummary;
type exports$1_ScorerBuilder = ScorerBuilder;
declare const exports$1_ScorerBuilder: typeof ScorerBuilder;
type exports$1_ScorerOpts<Output, Input, Params, Returns, Fn extends GenericFunction<Exact<Params, ScorerArgs<Output, Input>>, Returns>> = ScorerOpts<Output, Input, Params, Returns, Fn>;
type exports$1_SerializedBraintrustState = SerializedBraintrustState;
type exports$1_SetCurrentArg = SetCurrentArg;
type exports$1_Span = Span;
type exports$1_SpanContext = SpanContext;
type exports$1_SpanData = SpanData;
type exports$1_SpanFetcher = SpanFetcher;
declare const exports$1_SpanFetcher: typeof SpanFetcher;
type exports$1_SpanImpl = SpanImpl;
declare const exports$1_SpanImpl: typeof SpanImpl;
type exports$1_StartSpanArgs = StartSpanArgs;
type exports$1_TemplateFormat = TemplateFormat;
type exports$1_TemplateRenderer = TemplateRenderer;
type exports$1_TemplateRendererPlugin = TemplateRendererPlugin;
type exports$1_TestBackgroundLogger = TestBackgroundLogger;
declare const exports$1_TestBackgroundLogger: typeof TestBackgroundLogger;
type exports$1_ToolBuilder = ToolBuilder;
declare const exports$1_ToolBuilder: typeof ToolBuilder;
type exports$1_Trace = Trace;
type exports$1_UUIDGenerator = UUIDGenerator;
declare const exports$1_UUIDGenerator: typeof UUIDGenerator;
type exports$1_WithTransactionId<R> = WithTransactionId<R>;
declare const exports$1_X_CACHED_HEADER: typeof X_CACHED_HEADER;
declare const exports$1__exportsForTestingOnly: typeof _exportsForTestingOnly;
declare const exports$1__internalGetGlobalState: typeof _internalGetGlobalState;
declare const exports$1__internalSetInitialState: typeof _internalSetInitialState;
declare const exports$1_addAzureBlobHeaders: typeof addAzureBlobHeaders;
declare const exports$1_braintrustAISDKTelemetry: typeof braintrustAISDKTelemetry;
declare const exports$1_braintrustFlueObserver: typeof braintrustFlueObserver;
declare const exports$1_braintrustStreamChunkSchema: typeof braintrustStreamChunkSchema;
declare const exports$1_buildLocalSummary: typeof buildLocalSummary;
declare const exports$1_configureInstrumentation: typeof configureInstrumentation;
declare const exports$1_constructLogs3OverflowRequest: typeof constructLogs3OverflowRequest;
declare const exports$1_createFinalValuePassThroughStream: typeof createFinalValuePassThroughStream;
declare const exports$1_currentExperiment: typeof currentExperiment;
declare const exports$1_currentLogger: typeof currentLogger;
declare const exports$1_currentSpan: typeof currentSpan;
declare const exports$1_deepCopyEvent: typeof deepCopyEvent;
declare const exports$1_defaultErrorScoreHandler: typeof defaultErrorScoreHandler;
declare const exports$1_deserializePlainStringAsJSON: typeof deserializePlainStringAsJSON;
declare const exports$1_devNullWritableStream: typeof devNullWritableStream;
declare const exports$1_evaluatorDefinitionSchema: typeof evaluatorDefinitionSchema;
declare const exports$1_evaluatorDefinitionsSchema: typeof evaluatorDefinitionsSchema;
declare const exports$1_flush: typeof flush;
declare const exports$1_getContextManager: typeof getContextManager;
declare const exports$1_getIdGenerator: typeof getIdGenerator;
declare const exports$1_getPromptVersions: typeof getPromptVersions;
declare const exports$1_getSpanParentObject: typeof getSpanParentObject;
declare const exports$1_getTemplateRenderer: typeof getTemplateRenderer;
declare const exports$1_init: typeof init;
declare const exports$1_initDataset: typeof initDataset;
declare const exports$1_initExperiment: typeof initExperiment;
declare const exports$1_initFunction: typeof initFunction;
declare const exports$1_initLogger: typeof initLogger;
declare const exports$1_initNodeTestSuite: typeof initNodeTestSuite;
declare const exports$1_invoke: typeof invoke;
declare const exports$1_isTemplateFormat: typeof isTemplateFormat;
declare const exports$1_loadParameters: typeof loadParameters;
declare const exports$1_loadPrompt: typeof loadPrompt;
declare const exports$1_log: typeof log;
declare const exports$1_logError: typeof logError;
declare const exports$1_login: typeof login;
declare const exports$1_loginToState: typeof loginToState;
declare const exports$1_logs3OverflowUploadSchema: typeof logs3OverflowUploadSchema;
declare const exports$1_newId: typeof newId;
declare const exports$1_parseCachedHeader: typeof parseCachedHeader;
declare const exports$1_parseTemplateFormat: typeof parseTemplateFormat;
declare const exports$1_permalink: typeof permalink;
declare const exports$1_pickLogs3OverflowObjectIds: typeof pickLogs3OverflowObjectIds;
declare const exports$1_projects: typeof projects;
declare const exports$1_promptContentsSchema: typeof promptContentsSchema;
declare const exports$1_promptDefinitionSchema: typeof promptDefinitionSchema;
declare const exports$1_promptDefinitionToPromptData: typeof promptDefinitionToPromptData;
declare const exports$1_promptDefinitionWithToolsSchema: typeof promptDefinitionWithToolsSchema;
declare const exports$1_registerOtelFlush: typeof registerOtelFlush;
declare const exports$1_registerSandbox: typeof registerSandbox;
declare const exports$1_registerTemplatePlugin: typeof registerTemplatePlugin;
declare const exports$1_renderMessage: typeof renderMessage;
declare const exports$1_renderPromptParams: typeof renderPromptParams;
declare const exports$1_renderTemplateContent: typeof renderTemplateContent;
declare const exports$1_reportFailures: typeof reportFailures;
declare const exports$1_runEvaluator: typeof runEvaluator;
declare const exports$1_setFetch: typeof setFetch;
declare const exports$1_setMaskingFunction: typeof setMaskingFunction;
declare const exports$1_spanComponentsToObjectId: typeof spanComponentsToObjectId;
declare const exports$1_startSpan: typeof startSpan;
declare const exports$1_summarize: typeof summarize;
declare const exports$1_templateRegistry: typeof templateRegistry;
declare const exports$1_traceable: typeof traceable;
declare const exports$1_traced: typeof traced;
declare const exports$1_updateSpan: typeof updateSpan;
declare const exports$1_uploadLogs3OverflowPayload: typeof uploadLogs3OverflowPayload;
declare const exports$1_utf8ByteLength: typeof utf8ByteLength;
declare const exports$1_withCurrent: typeof withCurrent;
declare const exports$1_withDataset: typeof withDataset;
declare const exports$1_withExperiment: typeof withExperiment;
declare const exports$1_withLogger: typeof withLogger;
declare const exports$1_withParent: typeof withParent;
declare const exports$1_wrapAISDK: typeof wrapAISDK;
declare const exports$1_wrapAISDKModel: typeof wrapAISDKModel;
declare const exports$1_wrapAgentClass: typeof wrapAgentClass;
declare const exports$1_wrapAnthropic: typeof wrapAnthropic;
declare const exports$1_wrapClaudeAgentSDK: typeof wrapClaudeAgentSDK;
declare const exports$1_wrapCohere: typeof wrapCohere;
declare const exports$1_wrapCopilotClient: typeof wrapCopilotClient;
declare const exports$1_wrapCursorSDK: typeof wrapCursorSDK;
declare const exports$1_wrapGenkit: typeof wrapGenkit;
declare const exports$1_wrapGoogleADK: typeof wrapGoogleADK;
declare const exports$1_wrapGoogleGenAI: typeof wrapGoogleGenAI;
declare const exports$1_wrapGroq: typeof wrapGroq;
declare const exports$1_wrapHuggingFace: typeof wrapHuggingFace;
declare const exports$1_wrapMastraAgent: typeof wrapMastraAgent;
declare const exports$1_wrapMistral: typeof wrapMistral;
declare const exports$1_wrapOpenAI: typeof wrapOpenAI;
declare const exports$1_wrapOpenAICodexSDK: typeof wrapOpenAICodexSDK;
declare const exports$1_wrapOpenAIv4: typeof wrapOpenAIv4;
declare const exports$1_wrapOpenRouter: typeof wrapOpenRouter;
declare const exports$1_wrapOpenRouterAgent: typeof wrapOpenRouterAgent;
declare const exports$1_wrapPiCodingAgentSDK: typeof wrapPiCodingAgentSDK;
declare const exports$1_wrapTraced: typeof wrapTraced;
declare const exports$1_wrapVitest: typeof wrapVitest;
declare namespace exports$1 {
  export { type exports$1_AnyDataset as AnyDataset, exports$1_Attachment as Attachment, type exports$1_AttachmentParams as AttachmentParams, exports$1_AttachmentReference as AttachmentReference, exports$1_BRAINTRUST_CURRENT_SPAN_STORE as BRAINTRUST_CURRENT_SPAN_STORE, exports$1_BRAINTRUST_LANGCHAIN_CALLBACK_HANDLER_NAME as BRAINTRUST_LANGCHAIN_CALLBACK_HANDLER_NAME, type exports$1_BackgroundLoggerOpts as BackgroundLoggerOpts, exports$1_BaseAttachment as BaseAttachment, exports$1_BaseExperiment as BaseExperiment, type exports$1_BaseMetadata as BaseMetadata, exports$1_BraintrustLangChainCallbackHandler as BraintrustLangChainCallbackHandler, exports$1_BraintrustMiddleware as BraintrustMiddleware, exports$1_BraintrustObservabilityExporter as BraintrustObservabilityExporter, exports$1_BraintrustState as BraintrustState, exports$1_BraintrustStream as BraintrustStream, type exports$1_BraintrustStreamChunk as BraintrustStreamChunk, exports$1_CachedSpanFetcher as CachedSpanFetcher, type exports$1_ChatPrompt as ChatPrompt, exports$1_CodeFunction as CodeFunction, type exports$1_CodeOpts as CodeOpts, exports$1_CodePrompt as CodePrompt, type exports$1_CommentEvent as CommentEvent, type exports$1_CompiledPrompt as CompiledPrompt, type exports$1_CompiledPromptParams as CompiledPromptParams, type exports$1_CompletionPrompt as CompletionPrompt, exports$1_ContextManager as ContextManager, type exports$1_ContextParentSpanIds as ContextParentSpanIds, type exports$1_CreateProjectOpts as CreateProjectOpts, type exports$1_CurrentSpanStore as CurrentSpanStore, exports$1_DEFAULT_FETCH_BATCH_SIZE as DEFAULT_FETCH_BATCH_SIZE, exports$1_DEFAULT_MAX_REQUEST_SIZE as DEFAULT_MAX_REQUEST_SIZE, type exports$1_DataSummary as DataSummary, exports$1_Dataset as Dataset, exports$1_DatasetPipeline as DatasetPipeline, type exports$1_DatasetRecord as DatasetRecord, type exports$1_DatasetRestorePreviewResult as DatasetRestorePreviewResult, type exports$1_DatasetRestoreResult as DatasetRestoreResult, type DatasetSnapshotType as DatasetSnapshot, type exports$1_DatasetSummary as DatasetSummary, type exports$1_DefaultMetadataType as DefaultMetadataType, type exports$1_DefaultPromptArgs as DefaultPromptArgs, exports$1_ERR_PERMALINK as ERR_PERMALINK, type exports$1_EndSpanArgs as EndSpanArgs, exports$1_Eval as Eval, type exports$1_EvalCase as EvalCase, type exports$1_EvalClassifier as EvalClassifier, type exports$1_EvalHooks as EvalHooks, type exports$1_EvalParameterSerializedSchema as EvalParameterSerializedSchema, type exports$1_EvalParameters as EvalParameters, type exports$1_EvalResult as EvalResult, exports$1_EvalResultWithSummary as EvalResultWithSummary, type exports$1_EvalScorer as EvalScorer, type exports$1_EvalScorerArgs as EvalScorerArgs, type exports$1_EvalTask as EvalTask, type exports$1_Evaluator as Evaluator, type exports$1_EvaluatorDef as EvaluatorDef, type exports$1_EvaluatorDefinition as EvaluatorDefinition, type exports$1_EvaluatorDefinitions as EvaluatorDefinitions, type exports$1_EvaluatorFile as EvaluatorFile, type exports$1_EvaluatorManifest as EvaluatorManifest, exports$1_Experiment as Experiment, type exports$1_ExperimentLogFullArgs as ExperimentLogFullArgs, type exports$1_ExperimentLogPartialArgs as ExperimentLogPartialArgs, type exports$1_ExperimentSummary as ExperimentSummary, type exports$1_Exportable as Exportable, exports$1_ExternalAttachment as ExternalAttachment, type exports$1_ExternalAttachmentParams as ExternalAttachmentParams, exports$1_FailedHTTPResponse as FailedHTTPResponse, type exports$1_FullInitDatasetOptions as FullInitDatasetOptions, type exports$1_FullInitOptions as FullInitOptions, type exports$1_FullLoginOptions as FullLoginOptions, type exports$1_FunctionEvent as FunctionEvent, type exports$1_GetThreadOptions as GetThreadOptions, exports$1_IDGenerator as IDGenerator, type exports$1_IdField as IdField, type exports$1_InitDatasetOptions as InitDatasetOptions, type exports$1_InitLoggerOptions as InitLoggerOptions, type exports$1_InitOptions as InitOptions, type exports$1_InputField as InputField, type exports$1_InstrumentationConfig as InstrumentationConfig, type exports$1_InvokeFunctionArgs as InvokeFunctionArgs, type exports$1_InvokeReturn as InvokeReturn, exports$1_JSONAttachment as JSONAttachment, exports$1_LEGACY_CACHED_HEADER as LEGACY_CACHED_HEADER, exports$1_LOGS3_OVERFLOW_REFERENCE_TYPE as LOGS3_OVERFLOW_REFERENCE_TYPE, type exports$1_LangChainCallbackHandlerOptions as LangChainCallbackHandlerOptions, exports$1_LazyValue as LazyValue, type exports$1_LoadPromptOptions as LoadPromptOptions, exports$1_LocalTrace as LocalTrace, type exports$1_LogCommentFullArgs as LogCommentFullArgs, type exports$1_LogFeedbackFullArgs as LogFeedbackFullArgs, type exports$1_LogOptions as LogOptions, exports$1_Logger as Logger, exports$1_LoginInvalidOrgError as LoginInvalidOrgError, type exports$1_LoginOptions as LoginOptions, type exports$1_Logs3OverflowInputRow as Logs3OverflowInputRow, type exports$1_Logs3OverflowUpload as Logs3OverflowUpload, type exports$1_MastraObservabilityExporter as MastraObservabilityExporter, type exports$1_MetricSummary as MetricSummary, exports$1_NOOP_SPAN as NOOP_SPAN, exports$1_NOOP_SPAN_PERMALINK as NOOP_SPAN_PERMALINK, exports$1_NoopSpan as NoopSpan, exports$1_ObjectFetcher as ObjectFetcher, type exports$1_ObjectMetadata as ObjectMetadata, type exports$1_OtherExperimentLogFields as OtherExperimentLogFields, type exports$1_ParametersSource as ParametersSource, type exports$1_ParentExperimentIds as ParentExperimentIds, type exports$1_ParentProjectLogIds as ParentProjectLogIds, exports$1_Project as Project, exports$1_ProjectNameIdMap as ProjectNameIdMap, type exports$1_PromiseUnless as PromiseUnless, exports$1_Prompt as Prompt, exports$1_PromptBuilder as PromptBuilder, type exports$1_PromptContents as PromptContents, type exports$1_PromptDefinition as PromptDefinition, type exports$1_PromptDefinitionWithTools as PromptDefinitionWithTools, type exports$1_PromptOpts as PromptOpts, type exports$1_PromptRowWithId as PromptRowWithId, exports$1_ReadonlyAttachment as ReadonlyAttachment, exports$1_ReadonlyExperiment as ReadonlyExperiment, type exports$1_RegisterSandboxOptions as RegisterSandboxOptions, type exports$1_RegisterSandboxResult as RegisterSandboxResult, exports$1_Reporter as Reporter, type exports$1_ReporterBody as ReporterBody, type exports$1_SandboxConfig as SandboxConfig, type exports$1_ScoreSummary as ScoreSummary, exports$1_ScorerBuilder as ScorerBuilder, type exports$1_ScorerOpts as ScorerOpts, type exports$1_SerializedBraintrustState as SerializedBraintrustState, type exports$1_SetCurrentArg as SetCurrentArg, type exports$1_Span as Span, type exports$1_SpanContext as SpanContext, type exports$1_SpanData as SpanData, exports$1_SpanFetcher as SpanFetcher, exports$1_SpanImpl as SpanImpl, type exports$1_StartSpanArgs as StartSpanArgs, type exports$1_TemplateFormat as TemplateFormat, type exports$1_TemplateRenderer as TemplateRenderer, type exports$1_TemplateRendererPlugin as TemplateRendererPlugin, exports$1_TestBackgroundLogger as TestBackgroundLogger, exports$1_ToolBuilder as ToolBuilder, type exports$1_Trace as Trace, exports$1_UUIDGenerator as UUIDGenerator, type exports$1_WithTransactionId as WithTransactionId, exports$1_X_CACHED_HEADER as X_CACHED_HEADER, exports$1__exportsForTestingOnly as _exportsForTestingOnly, exports$1__internalGetGlobalState as _internalGetGlobalState, iso as _internalIso, exports$1__internalSetInitialState as _internalSetInitialState, exports$1_addAzureBlobHeaders as addAzureBlobHeaders, exports$1_braintrustAISDKTelemetry as braintrustAISDKTelemetry, exports$1_braintrustFlueObserver as braintrustFlueObserver, exports$1_braintrustStreamChunkSchema as braintrustStreamChunkSchema, exports$1_buildLocalSummary as buildLocalSummary, exports$1_configureInstrumentation as configureInstrumentation, exports$1_constructLogs3OverflowRequest as constructLogs3OverflowRequest, exports$1_createFinalValuePassThroughStream as createFinalValuePassThroughStream, exports$1_currentExperiment as currentExperiment, exports$1_currentLogger as currentLogger, exports$1_currentSpan as currentSpan, exports$1_deepCopyEvent as deepCopyEvent, exports$1_defaultErrorScoreHandler as defaultErrorScoreHandler, exports$1_deserializePlainStringAsJSON as deserializePlainStringAsJSON, exports$1_devNullWritableStream as devNullWritableStream, exports$1_evaluatorDefinitionSchema as evaluatorDefinitionSchema, exports$1_evaluatorDefinitionsSchema as evaluatorDefinitionsSchema, exports$1_flush as flush, exports$1_getContextManager as getContextManager, exports$1_getIdGenerator as getIdGenerator, exports$1_getPromptVersions as getPromptVersions, exports$1_getSpanParentObject as getSpanParentObject, exports$1_getTemplateRenderer as getTemplateRenderer, graphFramework as graph, exports$1_init as init, exports$1_initDataset as initDataset, exports$1_initExperiment as initExperiment, exports$1_initFunction as initFunction, exports$1_initLogger as initLogger, exports$1_initNodeTestSuite as initNodeTestSuite, exports$1_invoke as invoke, exports$1_isTemplateFormat as isTemplateFormat, exports$1_loadParameters as loadParameters, exports$1_loadPrompt as loadPrompt, exports$1_log as log, exports$1_logError as logError, exports$1_login as login, exports$1_loginToState as loginToState, exports$1_logs3OverflowUploadSchema as logs3OverflowUploadSchema, exports$1_newId as newId, exports$1_parseCachedHeader as parseCachedHeader, exports$1_parseTemplateFormat as parseTemplateFormat, exports$1_permalink as permalink, exports$1_pickLogs3OverflowObjectIds as pickLogs3OverflowObjectIds, exports$1_projects as projects, exports$1_promptContentsSchema as promptContentsSchema, exports$1_promptDefinitionSchema as promptDefinitionSchema, exports$1_promptDefinitionToPromptData as promptDefinitionToPromptData, exports$1_promptDefinitionWithToolsSchema as promptDefinitionWithToolsSchema, exports$1_registerOtelFlush as registerOtelFlush, exports$1_registerSandbox as registerSandbox, exports$1_registerTemplatePlugin as registerTemplatePlugin, exports$1_renderMessage as renderMessage, exports$1_renderPromptParams as renderPromptParams, exports$1_renderTemplateContent as renderTemplateContent, exports$1_reportFailures as reportFailures, exports$1_runEvaluator as runEvaluator, exports$1_setFetch as setFetch, exports$1_setMaskingFunction as setMaskingFunction, exports$1_spanComponentsToObjectId as spanComponentsToObjectId, exports$1_startSpan as startSpan, exports$1_summarize as summarize, exports$1_templateRegistry as templateRegistry, ToolFunctionDefinition as toolFunctionDefinitionSchema, exports$1_traceable as traceable, exports$1_traced as traced, exports$1_updateSpan as updateSpan, exports$1_uploadLogs3OverflowPayload as uploadLogs3OverflowPayload, exports$1_utf8ByteLength as utf8ByteLength, exports$1_withCurrent as withCurrent, exports$1_withDataset as withDataset, exports$1_withExperiment as withExperiment, exports$1_withLogger as withLogger, exports$1_withParent as withParent, exports$1_wrapAISDK as wrapAISDK, exports$1_wrapAISDKModel as wrapAISDKModel, exports$1_wrapAgentClass as wrapAgentClass, exports$1_wrapAnthropic as wrapAnthropic, exports$1_wrapClaudeAgentSDK as wrapClaudeAgentSDK, exports$1_wrapCohere as wrapCohere, exports$1_wrapCopilotClient as wrapCopilotClient, exports$1_wrapCursorSDK as wrapCursorSDK, exports$1_wrapGenkit as wrapGenkit, exports$1_wrapGoogleADK as wrapGoogleADK, exports$1_wrapGoogleGenAI as wrapGoogleGenAI, exports$1_wrapGroq as wrapGroq, exports$1_wrapHuggingFace as wrapHuggingFace, exports$1_wrapMastraAgent as wrapMastraAgent, exports$1_wrapMistral as wrapMistral, exports$1_wrapOpenAI as wrapOpenAI, exports$1_wrapOpenAICodexSDK as wrapOpenAICodexSDK, exports$1_wrapOpenAIv4 as wrapOpenAIv4, exports$1_wrapOpenRouter as wrapOpenRouter, exports$1_wrapOpenRouterAgent as wrapOpenRouterAgent, exports$1_wrapPiCodingAgentSDK as wrapPiCodingAgentSDK, exports$1_wrapTraced as wrapTraced, exports$1_wrapVitest as wrapVitest };
}

export { type AnyDataset, Attachment, type AttachmentParams, AttachmentReference, BRAINTRUST_CURRENT_SPAN_STORE, BRAINTRUST_LANGCHAIN_CALLBACK_HANDLER_NAME, type BackgroundLoggerOpts, BaseAttachment, BaseExperiment, type BaseMetadata, BraintrustLangChainCallbackHandler, BraintrustMiddleware, BraintrustObservabilityExporter, BraintrustState, BraintrustStream, type BraintrustStreamChunk, CachedSpanFetcher, type ChatPrompt, CodeFunction, type CodeOpts, CodePrompt, type CommentEvent, type CompiledPrompt, type CompiledPromptParams, type CompletionPrompt, ContextManager, type ContextParentSpanIds, type CreateProjectOpts, type CurrentSpanStore, DEFAULT_FETCH_BATCH_SIZE, DEFAULT_MAX_REQUEST_SIZE, type DataSummary, Dataset, DatasetPipeline, type DatasetRecord, type DatasetRestorePreviewResult, type DatasetRestoreResult, type DatasetSnapshotType as DatasetSnapshot, type DatasetSummary, type DefaultMetadataType, type DefaultPromptArgs, ERR_PERMALINK, type EndSpanArgs, Eval, type EvalCase, type EvalClassifier, type EvalHooks, type EvalParameterSerializedSchema, type EvalParameters, type EvalResult, EvalResultWithSummary, type EvalScorer, type EvalScorerArgs, type EvalTask, type Evaluator, type EvaluatorDef, type EvaluatorDefinition, type EvaluatorDefinitions, type EvaluatorFile, type EvaluatorManifest, Experiment, type ExperimentLogFullArgs, type ExperimentLogPartialArgs, type ExperimentSummary, type Exportable, ExternalAttachment, type ExternalAttachmentParams, FailedHTTPResponse, type FullInitDatasetOptions, type FullInitOptions, type FullLoginOptions, type FunctionEvent, type GetThreadOptions, IDGenerator, type IdField, type InitDatasetOptions, type InitLoggerOptions, type InitOptions, type InputField, type InstrumentationConfig, type InvokeFunctionArgs, type InvokeReturn, JSONAttachment, LEGACY_CACHED_HEADER, LOGS3_OVERFLOW_REFERENCE_TYPE, type LangChainCallbackHandlerOptions, LazyValue, type LoadPromptOptions, LocalTrace, type LogCommentFullArgs, type LogFeedbackFullArgs, type LogOptions, Logger, LoginInvalidOrgError, type LoginOptions, type Logs3OverflowInputRow, type Logs3OverflowUpload, type MastraObservabilityExporter, type MetricSummary, NOOP_SPAN, NOOP_SPAN_PERMALINK, NoopSpan, ObjectFetcher, type ObjectMetadata, type OtherExperimentLogFields, type ParametersSource, type ParentExperimentIds, type ParentProjectLogIds, Project, ProjectNameIdMap, type PromiseUnless, Prompt, PromptBuilder, type PromptContents, type PromptDefinition, type PromptDefinitionWithTools, type PromptOpts, type PromptRowWithId, ReadonlyAttachment, ReadonlyExperiment, type RegisterSandboxOptions, type RegisterSandboxResult, Reporter, type ReporterBody, type SandboxConfig, type ScoreSummary, ScorerBuilder, type ScorerOpts, type SerializedBraintrustState, type SetCurrentArg, type Span, type SpanContext, type SpanData, SpanFetcher, SpanImpl, type StartSpanArgs, type TemplateFormat, type TemplateRenderer, type TemplateRendererPlugin, TestBackgroundLogger, ToolBuilder, type Trace, UUIDGenerator, type WithTransactionId, X_CACHED_HEADER, _exportsForTestingOnly, _internalGetGlobalState, iso as _internalIso, _internalSetInitialState, addAzureBlobHeaders, braintrustAISDKTelemetry, braintrustFlueObserver, braintrustStreamChunkSchema, buildLocalSummary, configureInstrumentation, constructLogs3OverflowRequest, createFinalValuePassThroughStream, currentExperiment, currentLogger, currentSpan, deepCopyEvent, exports$1 as default, defaultErrorScoreHandler, deserializePlainStringAsJSON, devNullWritableStream, evaluatorDefinitionSchema, evaluatorDefinitionsSchema, flush, getContextManager, getIdGenerator, getPromptVersions, getSpanParentObject, getTemplateRenderer, graphFramework as graph, init, initDataset, initExperiment, initFunction, initLogger, initNodeTestSuite, invoke, isTemplateFormat, loadParameters, loadPrompt, log, logError, login, loginToState, logs3OverflowUploadSchema, newId, parseCachedHeader, parseTemplateFormat, permalink, pickLogs3OverflowObjectIds, projects, promptContentsSchema, promptDefinitionSchema, promptDefinitionToPromptData, promptDefinitionWithToolsSchema, registerOtelFlush, registerSandbox, registerTemplatePlugin, renderMessage, renderPromptParams, renderTemplateContent, reportFailures, runEvaluator, setFetch, setMaskingFunction, spanComponentsToObjectId, startSpan, summarize, templateRegistry, ToolFunctionDefinition as toolFunctionDefinitionSchema, traceable, traced, updateSpan, uploadLogs3OverflowPayload, utf8ByteLength, withCurrent, withDataset, withExperiment, withLogger, withParent, wrapAISDK, wrapAISDKModel, wrapAgentClass, wrapAnthropic, wrapClaudeAgentSDK, wrapCohere, wrapCopilotClient, wrapCursorSDK, wrapGenkit, wrapGoogleADK, wrapGoogleGenAI, wrapGroq, wrapHuggingFace, wrapMastraAgent, wrapMistral, wrapOpenAI, wrapOpenAICodexSDK, wrapOpenAIv4, wrapOpenRouter, wrapOpenRouterAgent, wrapPiCodingAgentSDK, wrapTraced, wrapVitest };
