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 { DataPart } from "./datapart.js";
import { ErrorPart } from "./errorpart.js";
import { FilePart } from "./filepart.js";
import { TextPart } from "./textpart.js";
import { ToolCallPart } from "./toolcallpart.js";
import { ToolResultPart } from "./toolresultpart.js";
export declare const Role: {
    readonly User: "user";
    readonly Agent: "agent";
    readonly Tool: "tool";
    readonly System: "system";
};
export type Role = ClosedEnum<typeof Role>;
export type Parts = TextPart | ErrorPart | DataPart | FilePart | ToolCallPart | ToolResultPart;
/**
 * Response message from an agent execution.
 */
export type AgentResponseMessage = {
    messageId: string;
    role: Role;
    parts: Array<TextPart | ErrorPart | DataPart | FilePart | ToolCallPart | ToolResultPart>;
    metadata?: {
        [k: string]: any;
    } | undefined;
};
/** @internal */
export declare const Role$inboundSchema: z.ZodNativeEnum<typeof Role>;
/** @internal */
export declare const Parts$inboundSchema: z.ZodType<Parts, z.ZodTypeDef, unknown>;
export declare function partsFromJSON(jsonString: string): SafeParseResult<Parts, SDKValidationError>;
/** @internal */
export declare const AgentResponseMessage$inboundSchema: z.ZodType<AgentResponseMessage, z.ZodTypeDef, unknown>;
export declare function agentResponseMessageFromJSON(jsonString: string): SafeParseResult<AgentResponseMessage, SDKValidationError>;
//# sourceMappingURL=agentresponsemessage.d.ts.map