import { z } from "zod";
import { PromptProviderSDKs } from "../../types/prompts.js";
export declare const SDKProviderIdMap: Record<PromptProviderSDKs, string>;
/**
 * SDK Provider Converter Map
 *
 * This map contains the converters for each SDK provider.
 *
 * If a "from" direction is not supported for a particular provider, you can set the schema to `z.unknown()`,
 * passing contents directly through, but forcing the caller to handle the unknown type.
 */
export declare const SDKProviderConverterMap: {
    OPENAI: import("./types.js").SDKConverters<z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>]>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<"text">;
        text: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        text: string;
        type: "text";
    }, {
        text: string;
        type: "text";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"image_url">;
        image_url: z.ZodObject<{
            url: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            url: string;
        }, {
            url: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "image_url";
        image_url: {
            url: string;
        };
    }, {
        type: "image_url";
        image_url: {
            url: string;
        };
    }>]>, 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";
    }>]>, z.ZodObject<{
        type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
        id: z.ZodString;
        function: z.ZodObject<{
            name: z.ZodString;
            arguments: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            arguments: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            arguments: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, {
        function: {
            name: string;
            arguments: string;
        } & {
            [k: string]: unknown;
        };
        type: "function";
        id: string;
    }, {
        function: {
            name: string;
            arguments: string;
        } & {
            [k: string]: unknown;
        };
        id: string;
        type?: "function" | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        type: z.ZodLiteral<"json_schema">;
        json_schema: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            schema: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            schema: {
                type: "object";
                properties: Record<string, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough"> | {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>;
                required?: string[] | undefined;
                additionalProperties?: boolean | undefined;
            } & {
                [k: string]: unknown;
            };
            description?: string | undefined;
        }, {
            name: string;
            schema: {
                type: "object";
                properties: Record<string, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough"> | {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>;
                required?: string[] | undefined;
                additionalProperties?: boolean | undefined;
            } & {
                [k: string]: unknown;
            };
            description?: string | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        json_schema: {
            name: string;
            schema: {
                type: "object";
                properties: Record<string, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough"> | {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>;
                required?: string[] | undefined;
                additionalProperties?: boolean | undefined;
            } & {
                [k: string]: unknown;
            };
            description?: string | undefined;
        };
        type: "json_schema";
    }, {
        json_schema: {
            name: string;
            schema: {
                type: "object";
                properties: Record<string, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough"> | {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>;
                required?: string[] | undefined;
                additionalProperties?: boolean | undefined;
            } & {
                [k: string]: unknown;
            };
            description?: string | undefined;
        };
        type: "json_schema";
    }>>;
    AZURE_OPENAI: import("./types.js").SDKConverters<z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>]>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<"text">;
        text: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        text: string;
        type: "text";
    }, {
        text: string;
        type: "text";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"image_url">;
        image_url: z.ZodObject<{
            url: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            url: string;
        }, {
            url: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "image_url";
        image_url: {
            url: string;
        };
    }, {
        type: "image_url";
        image_url: {
            url: string;
        };
    }>]>, 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";
    }>]>, z.ZodObject<{
        type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
        id: z.ZodString;
        function: z.ZodObject<{
            name: z.ZodString;
            arguments: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            arguments: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            arguments: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, {
        function: {
            name: string;
            arguments: string;
        } & {
            [k: string]: unknown;
        };
        type: "function";
        id: string;
    }, {
        function: {
            name: string;
            arguments: string;
        } & {
            [k: string]: unknown;
        };
        id: string;
        type?: "function" | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        type: z.ZodLiteral<"json_schema">;
        json_schema: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            schema: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            name: string;
            schema: {
                type: "object";
                properties: Record<string, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough"> | {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>;
                required?: string[] | undefined;
                additionalProperties?: boolean | undefined;
            } & {
                [k: string]: unknown;
            };
            description?: string | undefined;
        }, {
            name: string;
            schema: {
                type: "object";
                properties: Record<string, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough"> | {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>;
                required?: string[] | undefined;
                additionalProperties?: boolean | undefined;
            } & {
                [k: string]: unknown;
            };
            description?: string | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        json_schema: {
            name: string;
            schema: {
                type: "object";
                properties: Record<string, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough"> | {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>;
                required?: string[] | undefined;
                additionalProperties?: boolean | undefined;
            } & {
                [k: string]: unknown;
            };
            description?: string | undefined;
        };
        type: "json_schema";
    }, {
        json_schema: {
            name: string;
            schema: {
                type: "object";
                properties: Record<string, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough"> | {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>;
                required?: string[] | undefined;
                additionalProperties?: boolean | undefined;
            } & {
                [k: string]: unknown;
            };
            description?: string | undefined;
        };
        type: "json_schema";
    }>>;
    ANTHROPIC: import("./types.js").SDKConverters<z.ZodEffects<z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>]>, z.objectOutputType<{
        role: z.ZodEnum<["user", "assistant"]>;
        content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image">;
            source: z.ZodObject<{
                data: z.ZodString;
                media_type: z.ZodEnum<["image/jpeg", "image/png", "image/gif", "image/webp"]>;
                type: z.ZodLiteral<"base64">;
            }, "strip", z.ZodTypeAny, {
                type: "base64";
                data: string;
                media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
            }, {
                type: "base64";
                data: string;
                media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image";
            source: {
                type: "base64";
                data: string;
                media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
            };
        }, {
            type: "image";
            source: {
                type: "base64";
                data: string;
                media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
            };
        }>, z.ZodObject<{
            id: z.ZodString;
            type: z.ZodLiteral<"tool_use">;
            name: z.ZodString;
            input: z.ZodType<import("../jsonLiteralSchema.js").JSONLiteral, z.ZodTypeDef, import("../jsonLiteralSchema.js").JSONLiteral>;
        }, "strip", z.ZodTypeAny, {
            type: "tool_use";
            name: string;
            id: string;
            input: import("../jsonLiteralSchema.js").JSONLiteral;
        }, {
            type: "tool_use";
            name: string;
            id: string;
            input: import("../jsonLiteralSchema.js").JSONLiteral;
        }>, z.ZodObject<{
            type: z.ZodLiteral<"tool_result">;
            tool_use_id: z.ZodString;
            content: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodUnion<[z.ZodObject<{
                type: z.ZodLiteral<"text">;
                text: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                text: string;
                type: "text";
            }, {
                text: string;
                type: "text";
            }>, z.ZodObject<{
                type: z.ZodLiteral<"image">;
                source: z.ZodObject<{
                    data: z.ZodString;
                    media_type: z.ZodEnum<["image/jpeg", "image/png", "image/gif", "image/webp"]>;
                    type: z.ZodLiteral<"base64">;
                }, "strip", z.ZodTypeAny, {
                    type: "base64";
                    data: string;
                    media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
                }, {
                    type: "base64";
                    data: string;
                    media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
                }>;
            }, "strip", z.ZodTypeAny, {
                type: "image";
                source: {
                    type: "base64";
                    data: string;
                    media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
                };
            }, {
                type: "image";
                source: {
                    type: "base64";
                    data: string;
                    media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
                };
            }>]>, "many">]>;
            is_error: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "tool_result";
            content: string | ({
                text: string;
                type: "text";
            } | {
                type: "image";
                source: {
                    type: "base64";
                    data: string;
                    media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
                };
            })[];
            tool_use_id: string;
            is_error?: boolean | undefined;
        }, {
            type: "tool_result";
            content: string | ({
                text: string;
                type: "text";
            } | {
                type: "image";
                source: {
                    type: "base64";
                    data: string;
                    media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
                };
            })[];
            tool_use_id: string;
            is_error?: boolean | undefined;
        }>]>, "many">]>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodEffects<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<"text">;
        text: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        text: string;
        type: "text";
    }, {
        text: string;
        type: "text";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"image_url">;
        image_url: z.ZodObject<{
            url: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            url: string;
        }, {
            url: string;
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "image_url";
        image_url: {
            url: string;
        };
    }, {
        type: "image_url";
        image_url: {
            url: string;
        };
    }>]>, {
        type: "text";
        text: string;
        source?: undefined;
    } | {
        type: "image";
        source: {
            data: string;
            media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
            type: "base64";
        };
        text?: undefined;
    } | null, {
        text: string;
        type: "text";
    } | {
        type: "image_url";
        image_url: {
            url: string;
        };
    }>, z.ZodEffects<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";
    }>]>, {
        type: "tool";
        name: string;
    } | {
        type: "auto";
    } | {
        type: "any";
    }, "none" | "auto" | "required" | {
        function: {
            name: string;
        };
        type: "function";
    }>, z.ZodEffects<z.ZodObject<{
        type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
        id: z.ZodString;
        function: z.ZodObject<{
            name: z.ZodString;
            arguments: z.ZodString;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            arguments: z.ZodString;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            arguments: z.ZodString;
        }, z.ZodTypeAny, "passthrough">>;
    }, "strip", z.ZodTypeAny, {
        function: {
            name: string;
            arguments: string;
        } & {
            [k: string]: unknown;
        };
        type: "function";
        id: string;
    }, {
        function: {
            name: string;
            arguments: string;
        } & {
            [k: string]: unknown;
        };
        id: string;
        type?: "function" | undefined;
    }>, {
        type: "tool_use";
        name: string;
        id: string;
        input: import("../jsonLiteralSchema.js").JSONLiteral;
    }, {
        function: {
            name: string;
            arguments: string;
        } & {
            [k: string]: unknown;
        };
        id: string;
        type?: "function" | undefined;
    }>, z.ZodEffects<z.ZodObject<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, z.ZodTypeAny, "passthrough">>, {
        name: string;
        description: string;
        input_schema: {
            type: "object";
            properties: Record<string, z.objectOutputType<{
                type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                description: z.ZodOptional<z.ZodString>;
                enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            }, z.ZodTypeAny, "passthrough"> | {
                anyOf: z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">[];
            }>;
            required?: string[] | undefined;
            additionalProperties?: boolean | undefined;
        } & {
            [k: string]: unknown;
        };
    }, z.objectInputType<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodTypeAny>;
    PHOENIX: import("./types.js").SDKConverters<z.ZodEffects<z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>]>, {
        content: string | ({
            text: string;
            type: "text";
        } | {
            tool_call: {
                type: "function";
                name: string;
                arguments: string;
            };
            type: "tool_call";
            tool_call_id: string;
        } | {
            tool_result: string | number | boolean | unknown[] | Record<string, unknown> | null;
            type: "tool_result";
            tool_call_id: string;
        })[];
        role: "user" | "assistant" | "model" | "ai" | "tool" | "system" | "developer";
    }, z.objectInputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodUnknown, z.ZodUnknown, z.ZodUnknown, z.ZodUnknown, z.ZodUnknown>;
    VERCEL_AI: import("./types.js").SDKConverters<z.ZodEffects<z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>]>, {
        content: string;
        role: "system";
    } | {
        content: string | ({
            text: string;
            type: "text";
        } | {
            type: "image";
            image: string;
            mimeType?: string | undefined;
        })[];
        role: "user";
    } | {
        content: string | ({
            text: string;
            type: "text";
        } | {
            type: "tool-call";
            input: import("../jsonLiteralSchema.js").JSONLiteral;
            toolName: string;
            toolCallId: string;
        })[];
        role: "assistant";
    } | {
        content: {
            type: "tool-result";
            output: {
                value: string;
                type: "text";
            };
            toolName: string;
            toolCallId: string;
        }[];
        role: "tool";
    }, z.objectInputType<{
        role: z.ZodLiteral<"assistant">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
        tool_call_id: z.ZodOptional<z.ZodString>;
        tool_calls: z.ZodOptional<z.ZodArray<z.ZodObject<{
            type: z.ZodEffects<z.ZodOptional<z.ZodLiteral<"function">>, "function", "function" | undefined>;
            id: z.ZodString;
            function: z.ZodObject<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                name: z.ZodString;
                arguments: z.ZodString;
            }, z.ZodTypeAny, "passthrough">>;
        }, "strip", z.ZodTypeAny, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            type: "function";
            id: string;
        }, {
            function: {
                name: string;
                arguments: string;
            } & {
                [k: string]: unknown;
            };
            id: string;
            type?: "function" | undefined;
        }>, "many">>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"tool">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        tool_call_id: z.ZodString;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"function">;
        content: z.ZodNullable<z.ZodString>;
        name: z.ZodString;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"user">;
        content: z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"image_url">;
            image_url: z.ZodObject<{
                url: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
            }, {
                url: string;
            }>;
        }, "strip", z.ZodTypeAny, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }, {
            type: "image_url";
            image_url: {
                url: string;
            };
        }>]>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"system">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough"> | z.objectInputType<{
        role: z.ZodLiteral<"developer">;
        content: z.ZodUnion<[z.ZodArray<z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>, "many">, z.ZodString]>;
        name: z.ZodOptional<z.ZodString>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
        type: z.ZodLiteral<"text">;
        text: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        text: string;
        type: "text";
    }, {
        text: string;
        type: "text";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"image">;
        image: z.ZodString;
        mimeType: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        type: "image";
        image: string;
        mimeType?: string | undefined;
    }, {
        type: "image";
        image: string;
        mimeType?: string | undefined;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"tool-call">;
        toolCallId: z.ZodString;
        toolName: z.ZodString;
        input: z.ZodType<import("../jsonLiteralSchema.js").JSONLiteral, z.ZodTypeDef, import("../jsonLiteralSchema.js").JSONLiteral>;
    }, "strip", z.ZodTypeAny, {
        type: "tool-call";
        input: import("../jsonLiteralSchema.js").JSONLiteral;
        toolName: string;
        toolCallId: string;
    }, {
        type: "tool-call";
        input: import("../jsonLiteralSchema.js").JSONLiteral;
        toolName: string;
        toolCallId: string;
    }>, z.ZodObject<{
        type: z.ZodLiteral<"tool-result">;
        toolCallId: z.ZodString;
        toolName: z.ZodString;
        output: z.ZodObject<{
            type: z.ZodLiteral<"text">;
            value: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            value: string;
            type: "text";
        }, {
            value: string;
            type: "text";
        }>;
    }, "strip", z.ZodTypeAny, {
        type: "tool-result";
        output: {
            value: string;
            type: "text";
        };
        toolName: string;
        toolCallId: string;
    }, {
        type: "tool-result";
        output: {
            value: string;
            type: "text";
        };
        toolName: string;
        toolCallId: string;
    }>]>, z.ZodEffects<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";
    }>]>, "none" | "auto" | "required" | {
        type: "tool";
        toolName: string;
    }, "none" | "auto" | "required" | {
        function: {
            name: string;
        };
        type: "function";
    }>, z.ZodObject<{
        type: z.ZodLiteral<"tool-call">;
        toolCallId: z.ZodString;
        toolName: z.ZodString;
        input: z.ZodType<import("../jsonLiteralSchema.js").JSONLiteral, z.ZodTypeDef, import("../jsonLiteralSchema.js").JSONLiteral>;
    }, "strip", z.ZodTypeAny, {
        type: "tool-call";
        input: import("../jsonLiteralSchema.js").JSONLiteral;
        toolName: string;
        toolCallId: string;
    }, {
        type: "tool-call";
        input: import("../jsonLiteralSchema.js").JSONLiteral;
        toolName: string;
        toolCallId: string;
    }>, z.ZodEffects<z.ZodObject<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, z.ZodTypeAny, "passthrough">>, {
        type: "function";
        inputSchema: {
            _type?: unknown;
            validate?: unknown;
            jsonSchema?: Record<string, unknown> | undefined;
        };
        description?: string | undefined;
    }, z.objectInputType<{
        type: z.ZodLiteral<"function">;
        function: z.ZodObject<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            name: z.ZodString;
            description: z.ZodOptional<z.ZodString>;
            parameters: z.ZodObject<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                type: z.ZodLiteral<"object">;
                properties: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                    type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                    description: z.ZodOptional<z.ZodString>;
                    enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                }, z.ZodTypeAny, "passthrough">>, z.ZodObject<{
                    anyOf: z.ZodArray<z.ZodObject<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">>, "many">;
                }, "strip", z.ZodTypeAny, {
                    anyOf: z.objectOutputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }, {
                    anyOf: z.objectInputType<{
                        type: z.ZodEnum<["string", "number", "boolean", "object", "array", "null", "integer"]>;
                        description: z.ZodOptional<z.ZodString>;
                        enum: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                    }, z.ZodTypeAny, "passthrough">[];
                }>]>>;
                required: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
                additionalProperties: z.ZodOptional<z.ZodBoolean>;
            } & {
                strict: z.ZodOptional<z.ZodBoolean>;
            }, z.ZodTypeAny, "passthrough">>;
        }, z.ZodTypeAny, "passthrough">>;
    }, z.ZodTypeAny, "passthrough">>, z.ZodTypeAny>;
};
//# sourceMappingURL=constants.d.ts.map