import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { ErrorPart } from "./errorpart.js";
import { FilePart } from "./filepart.js";
import { TextPart } from "./textpart.js";
import { ToolResultPart } from "./toolresultpart.js";
/**
 * Message part that can be provided by users. Use "text" for regular messages, "file" for attachments, or "tool_result" when responding to tool call requests.
 */
export type PublicMessagePart = TextPart | FilePart | ToolResultPart | ErrorPart;
/**
 * Message author role. `user` for end-user messages, `assistant` for AI-generated responses.
 */
export declare const MessageResponseRole: {
    readonly User: "user";
    readonly Assistant: "assistant";
};
/**
 * Message author role. `user` for end-user messages, `assistant` for AI-generated responses.
 */
export type MessageResponseRole = ClosedEnum<typeof MessageResponseRole>;
export type MessageResponse = {
    /**
     * Unique message identifier with `msg_` prefix.
     */
    id: string;
    /**
     * Conversation identifier this message belongs to.
     */
    conversationId: string;
    /**
     * Unix timestamp in milliseconds when the message was created.
     */
    createdAt: number;
    /**
     * Identifier of the message author. User ID for user messages, "system" for assistant messages.
     */
    createdById: string;
    /**
     * Content parts composing the message. Supports multiple content types (text, images, files, tool results).
     */
    parts: Array<TextPart | FilePart | ToolResultPart | ErrorPart>;
    /**
     * Message author role. `user` for end-user messages, `assistant` for AI-generated responses.
     */
    role: MessageResponseRole;
};
/** @internal */
export declare const PublicMessagePart$inboundSchema: z.ZodType<PublicMessagePart, z.ZodTypeDef, unknown>;
export declare function publicMessagePartFromJSON(jsonString: string): SafeParseResult<PublicMessagePart, SDKValidationError>;
/** @internal */
export declare const MessageResponseRole$inboundSchema: z.ZodNativeEnum<typeof MessageResponseRole>;
/** @internal */
export declare const MessageResponse$inboundSchema: z.ZodType<MessageResponse, z.ZodTypeDef, unknown>;
export declare function messageResponseFromJSON(jsonString: string): SafeParseResult<MessageResponse, SDKValidationError>;
//# sourceMappingURL=messageresponse.d.ts.map