import z from "zod";
/**
 * OpenAI response format schema
 */
export declare const openaiResponseFormatSchema: 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";
}>;
export type OpenAIResponseFormat = z.infer<typeof openaiResponseFormatSchema>;
//# sourceMappingURL=responseFormatSchema.d.ts.map