import z from "zod";
export declare const vercelAIChatPartTextSchema: z.ZodObject<{
    type: z.ZodLiteral<"text">;
    text: z.ZodString;
}, "strip", z.ZodTypeAny, {
    text: string;
    type: "text";
}, {
    text: string;
    type: "text";
}>;
export type VercelAIChatPartText = z.infer<typeof vercelAIChatPartTextSchema>;
export declare const vercelAIChatPartImageSchema: 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;
}>;
export type VercelAIChatPartImage = z.infer<typeof vercelAIChatPartImageSchema>;
export declare const vercelAIChatPartToolCallSchema: z.ZodObject<{
    type: z.ZodLiteral<"tool-call">;
    toolCallId: z.ZodString;
    toolName: z.ZodString;
    input: z.ZodType<import("../../jsonLiteralSchema").JSONLiteral, z.ZodTypeDef, import("../../jsonLiteralSchema").JSONLiteral>;
}, "strip", z.ZodTypeAny, {
    type: "tool-call";
    input: import("../../jsonLiteralSchema").JSONLiteral;
    toolName: string;
    toolCallId: string;
}, {
    type: "tool-call";
    input: import("../../jsonLiteralSchema").JSONLiteral;
    toolName: string;
    toolCallId: string;
}>;
export type VercelAIChatPartToolCall = z.infer<typeof vercelAIChatPartToolCallSchema>;
export declare const vercelAIChatPartToolResultSchema: 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;
}>;
export type VercelAIChatPartToolResult = z.infer<typeof vercelAIChatPartToolResultSchema>;
export declare const vercelAIChatPartSchema: 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").JSONLiteral, z.ZodTypeDef, import("../../jsonLiteralSchema").JSONLiteral>;
}, "strip", z.ZodTypeAny, {
    type: "tool-call";
    input: import("../../jsonLiteralSchema").JSONLiteral;
    toolName: string;
    toolCallId: string;
}, {
    type: "tool-call";
    input: import("../../jsonLiteralSchema").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;
}>]>;
export type VercelAIChatPart = z.infer<typeof vercelAIChatPartSchema>;
//# sourceMappingURL=messagePartSchemas.d.ts.map