import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { ContentChunk, ContentChunk$Outbound } from "./contentchunk.js";
export type UserMessageContent = string | Array<ContentChunk>;
export declare const UserMessageRole: {
    readonly User: "user";
};
export type UserMessageRole = ClosedEnum<typeof UserMessageRole>;
export type UserMessage = {
    content: string | Array<ContentChunk> | null;
    role?: UserMessageRole | undefined;
};
/** @internal */
export type UserMessageContent$Outbound = string | Array<ContentChunk$Outbound>;
/** @internal */
export declare const UserMessageContent$outboundSchema: z.ZodType<UserMessageContent$Outbound, z.ZodTypeDef, UserMessageContent>;
export declare function userMessageContentToJSON(userMessageContent: UserMessageContent): string;
/** @internal */
export declare const UserMessageRole$outboundSchema: z.ZodNativeEnum<typeof UserMessageRole>;
/** @internal */
export type UserMessage$Outbound = {
    content: string | Array<ContentChunk$Outbound> | null;
    role: string;
};
/** @internal */
export declare const UserMessage$outboundSchema: z.ZodType<UserMessage$Outbound, z.ZodTypeDef, UserMessage>;
export declare function userMessageToJSON(userMessage: UserMessage): string;
//# sourceMappingURL=usermessage.d.ts.map