import { JSONSchema7 } from "json-schema";
import { z } from "zod";
export declare const EdgeRuntimeRequestOptionsSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
    system: z.ZodOptional<z.ZodString>;
    messages: z.ZodArray<z.ZodDiscriminatedUnion<"role", [z.ZodObject<{
        role: z.ZodLiteral<"system">;
        content: z.ZodTuple<[z.ZodObject<{
            type: z.ZodLiteral<"text">;
            text: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            text: string;
            type: "text";
        }, {
            text: string;
            type: "text";
        }>], null>;
    }, "strip", z.ZodTypeAny, {
        role: "system";
        content: [{
            text: string;
            type: "text";
        }];
    }, {
        role: "system";
        content: [{
            text: string;
            type: "text";
        }];
    }>, z.ZodObject<{
        role: z.ZodLiteral<"user">;
        content: 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">;
            image: z.ZodString;
        }, "strip", z.ZodTypeAny, {
            image: string;
            type: "image";
        }, {
            image: string;
            type: "image";
        }>, z.ZodObject<{
            type: z.ZodLiteral<"audio">;
            audio: z.ZodObject<{
                data: z.ZodString;
                format: z.ZodUnion<[z.ZodLiteral<"mp3">, z.ZodLiteral<"wav">]>;
            }, "strip", z.ZodTypeAny, {
                data: string;
                format: "mp3" | "wav";
            }, {
                data: string;
                format: "mp3" | "wav";
            }>;
        }, "strip", z.ZodTypeAny, {
            audio: {
                data: string;
                format: "mp3" | "wav";
            };
            type: "audio";
        }, {
            audio: {
                data: string;
                format: "mp3" | "wav";
            };
            type: "audio";
        }>]>, "many">;
    }, "strip", z.ZodTypeAny, {
        role: "user";
        content: ({
            text: string;
            type: "text";
        } | {
            image: string;
            type: "image";
        } | {
            audio: {
                data: string;
                format: "mp3" | "wav";
            };
            type: "audio";
        })[];
    }, {
        role: "user";
        content: ({
            text: string;
            type: "text";
        } | {
            image: string;
            type: "image";
        } | {
            audio: {
                data: string;
                format: "mp3" | "wav";
            };
            type: "audio";
        })[];
    }>, z.ZodObject<{
        role: z.ZodLiteral<"assistant">;
        content: 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<"tool-call">;
            toolCallId: z.ZodString;
            toolName: z.ZodString;
            args: z.ZodRecord<z.ZodString, z.ZodUnknown>;
            result: z.ZodOptional<z.ZodUnknown>;
            isError: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: Record<string, unknown>;
            isError?: boolean | undefined;
            result?: unknown;
        }, {
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: Record<string, unknown>;
            isError?: boolean | undefined;
            result?: unknown;
        }>]>, "many">;
    }, "strip", z.ZodTypeAny, {
        role: "assistant";
        content: ({
            text: string;
            type: "text";
        } | {
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: Record<string, unknown>;
            isError?: boolean | undefined;
            result?: unknown;
        })[];
    }, {
        role: "assistant";
        content: ({
            text: string;
            type: "text";
        } | {
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: Record<string, unknown>;
            isError?: boolean | undefined;
            result?: unknown;
        })[];
    }>]>, "many">;
    tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodLiteral<"function">;
        name: z.ZodString;
        description: z.ZodOptional<z.ZodString>;
        parameters: z.ZodType<JSONSchema7, z.ZodTypeDef, JSONSchema7>;
    }, "strip", z.ZodTypeAny, {
        type: "function";
        name: string;
        parameters: JSONSchema7;
        description?: string | undefined;
    }, {
        type: "function";
        name: string;
        parameters: JSONSchema7;
        description?: string | undefined;
    }>, "many">>;
    unstable_assistantMessageId: z.ZodOptional<z.ZodString>;
}, {
    maxTokens: z.ZodOptional<z.ZodNumber>;
    temperature: z.ZodOptional<z.ZodNumber>;
    topP: z.ZodOptional<z.ZodNumber>;
    presencePenalty: z.ZodOptional<z.ZodNumber>;
    frequencyPenalty: z.ZodOptional<z.ZodNumber>;
    seed: z.ZodOptional<z.ZodNumber>;
    headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodString>>>;
}>, {
    apiKey: z.ZodOptional<z.ZodString>;
    baseUrl: z.ZodOptional<z.ZodString>;
    modelName: z.ZodOptional<z.ZodString>;
}>, "strip", z.ZodTypeAny, {
    messages: ({
        role: "user";
        content: ({
            text: string;
            type: "text";
        } | {
            image: string;
            type: "image";
        } | {
            audio: {
                data: string;
                format: "mp3" | "wav";
            };
            type: "audio";
        })[];
    } | {
        role: "assistant";
        content: ({
            text: string;
            type: "text";
        } | {
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: Record<string, unknown>;
            isError?: boolean | undefined;
            result?: unknown;
        })[];
    } | {
        role: "system";
        content: [{
            text: string;
            type: "text";
        }];
    })[];
    system?: string | undefined;
    maxTokens?: number | undefined;
    temperature?: number | undefined;
    topP?: number | undefined;
    presencePenalty?: number | undefined;
    frequencyPenalty?: number | undefined;
    seed?: number | undefined;
    headers?: Record<string, string | undefined> | undefined;
    apiKey?: string | undefined;
    baseUrl?: string | undefined;
    modelName?: string | undefined;
    tools?: {
        type: "function";
        name: string;
        parameters: JSONSchema7;
        description?: string | undefined;
    }[] | undefined;
    unstable_assistantMessageId?: string | undefined;
}, {
    messages: ({
        role: "user";
        content: ({
            text: string;
            type: "text";
        } | {
            image: string;
            type: "image";
        } | {
            audio: {
                data: string;
                format: "mp3" | "wav";
            };
            type: "audio";
        })[];
    } | {
        role: "assistant";
        content: ({
            text: string;
            type: "text";
        } | {
            type: "tool-call";
            toolCallId: string;
            toolName: string;
            args: Record<string, unknown>;
            isError?: boolean | undefined;
            result?: unknown;
        })[];
    } | {
        role: "system";
        content: [{
            text: string;
            type: "text";
        }];
    })[];
    system?: string | undefined;
    maxTokens?: number | undefined;
    temperature?: number | undefined;
    topP?: number | undefined;
    presencePenalty?: number | undefined;
    frequencyPenalty?: number | undefined;
    seed?: number | undefined;
    headers?: Record<string, string | undefined> | undefined;
    apiKey?: string | undefined;
    baseUrl?: string | undefined;
    modelName?: string | undefined;
    tools?: {
        type: "function";
        name: string;
        parameters: JSONSchema7;
        description?: string | undefined;
    }[] | undefined;
    unstable_assistantMessageId?: string | undefined;
}>;
export type EdgeRuntimeRequestOptions = z.infer<typeof EdgeRuntimeRequestOptionsSchema>;
//# sourceMappingURL=EdgeRuntimeRequestOptions.d.ts.map