import { z } from "zod";
export declare const ImageSchema: z.ZodObject<{
    type: z.ZodLiteral<"base64">;
    data: z.ZodString;
}, "strict", z.ZodTypeAny, {
    type: "base64";
    data: string;
}, {
    type: "base64";
    data: string;
}>;
export declare const UserMessageSchema: z.ZodObject<{
    type: z.ZodLiteral<"user_message">;
    session_id: z.ZodString;
    text: z.ZodString;
    images: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodLiteral<"base64">;
        data: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        type: "base64";
        data: string;
    }, {
        type: "base64";
        data: string;
    }>, "many">>;
}, "strict", z.ZodTypeAny, {
    type: "user_message";
    session_id: string;
    text: string;
    images?: {
        type: "base64";
        data: string;
    }[] | undefined;
}, {
    type: "user_message";
    session_id: string;
    text: string;
    images?: {
        type: "base64";
        data: string;
    }[] | undefined;
}>;
export declare const AssistantMessageSchema: z.ZodObject<{
    type: z.ZodLiteral<"assistant_message">;
    session_id: z.ZodString;
    text: z.ZodString;
}, "strict", z.ZodTypeAny, {
    type: "assistant_message";
    session_id: string;
    text: string;
}, {
    type: "assistant_message";
    session_id: string;
    text: string;
}>;
export declare const MessageSchema: z.ZodUnion<[z.ZodObject<{
    type: z.ZodLiteral<"user_message">;
    session_id: z.ZodString;
    text: z.ZodString;
    images: z.ZodOptional<z.ZodArray<z.ZodObject<{
        type: z.ZodLiteral<"base64">;
        data: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        type: "base64";
        data: string;
    }, {
        type: "base64";
        data: string;
    }>, "many">>;
}, "strict", z.ZodTypeAny, {
    type: "user_message";
    session_id: string;
    text: string;
    images?: {
        type: "base64";
        data: string;
    }[] | undefined;
}, {
    type: "user_message";
    session_id: string;
    text: string;
    images?: {
        type: "base64";
        data: string;
    }[] | undefined;
}>, z.ZodObject<{
    type: z.ZodLiteral<"assistant_message">;
    session_id: z.ZodString;
    text: z.ZodString;
}, "strict", z.ZodTypeAny, {
    type: "assistant_message";
    session_id: string;
    text: string;
}, {
    type: "assistant_message";
    session_id: string;
    text: string;
}>]>;
export type Image = z.infer<typeof ImageSchema>;
export type UserMessage = z.infer<typeof UserMessageSchema>;
export type AssistantMessage = z.infer<typeof AssistantMessageSchema>;
export type Message = z.infer<typeof MessageSchema>;
export declare function isUserMessage(value: unknown): value is UserMessage;
export declare function isAssistantMessage(value: unknown): value is AssistantMessage;
export declare function isMessage(value: unknown): value is Message;
