import * as z from "zod/v4";
import { ClosedEnum, OpenEnum } from "../types/enums.js";
import { InputText, InputText$Outbound } from "./inputtext.js";
export type Agent = {
    agentName: string;
    additionalProperties?: {
        [k: string]: any;
    } | undefined;
};
export type ContentEncryptedContent = {
    encryptedContent: string;
    type: "encrypted_content";
    additionalProperties?: {
        [k: string]: any;
    } | undefined;
};
export declare const AgentMessageItemDetail: {
    readonly Auto: "auto";
    readonly High: "high";
    readonly Low: "low";
    readonly Original: "original";
};
export type AgentMessageItemDetail = OpenEnum<typeof AgentMessageItemDetail>;
/**
 * Image input content item
 */
export type AgentMessageItemContentInputImage = {
    detail: AgentMessageItemDetail;
    imageUrl?: string | null | undefined;
    type: "input_image";
};
export type AgentMessageItemContentUnion = InputText | AgentMessageItemContentInputImage | ContentEncryptedContent;
export declare const TypeAgentMessage: {
    readonly AgentMessage: "agent_message";
};
export type TypeAgentMessage = ClosedEnum<typeof TypeAgentMessage>;
/**
 * A message routed between agents in a multi-agent session
 */
export type AgentMessageItem = {
    agent?: Agent | null | undefined;
    author: string;
    content: Array<InputText | AgentMessageItemContentInputImage | ContentEncryptedContent>;
    id?: string | null | undefined;
    recipient: string;
    type: TypeAgentMessage;
    additionalProperties?: {
        [k: string]: any;
    } | undefined;
};
/** @internal */
export type Agent$Outbound = {
    agent_name: string;
    [additionalProperties: string]: unknown;
};
/** @internal */
export declare const Agent$outboundSchema: z.ZodType<Agent$Outbound, Agent>;
export declare function agentToJSON(agent: Agent): string;
/** @internal */
export type ContentEncryptedContent$Outbound = {
    encrypted_content: string;
    type: "encrypted_content";
    [additionalProperties: string]: unknown;
};
/** @internal */
export declare const ContentEncryptedContent$outboundSchema: z.ZodType<ContentEncryptedContent$Outbound, ContentEncryptedContent>;
export declare function contentEncryptedContentToJSON(contentEncryptedContent: ContentEncryptedContent): string;
/** @internal */
export declare const AgentMessageItemDetail$outboundSchema: z.ZodType<string, AgentMessageItemDetail>;
/** @internal */
export type AgentMessageItemContentInputImage$Outbound = {
    detail: string;
    image_url?: string | null | undefined;
    type: "input_image";
};
/** @internal */
export declare const AgentMessageItemContentInputImage$outboundSchema: z.ZodType<AgentMessageItemContentInputImage$Outbound, AgentMessageItemContentInputImage>;
export declare function agentMessageItemContentInputImageToJSON(agentMessageItemContentInputImage: AgentMessageItemContentInputImage): string;
/** @internal */
export type AgentMessageItemContentUnion$Outbound = InputText$Outbound | AgentMessageItemContentInputImage$Outbound | ContentEncryptedContent$Outbound;
/** @internal */
export declare const AgentMessageItemContentUnion$outboundSchema: z.ZodType<AgentMessageItemContentUnion$Outbound, AgentMessageItemContentUnion>;
export declare function agentMessageItemContentUnionToJSON(agentMessageItemContentUnion: AgentMessageItemContentUnion): string;
/** @internal */
export declare const TypeAgentMessage$outboundSchema: z.ZodEnum<typeof TypeAgentMessage>;
/** @internal */
export type AgentMessageItem$Outbound = {
    agent?: Agent$Outbound | null | undefined;
    author: string;
    content: Array<InputText$Outbound | AgentMessageItemContentInputImage$Outbound | ContentEncryptedContent$Outbound>;
    id?: string | null | undefined;
    recipient: string;
    type: string;
    [additionalProperties: string]: unknown;
};
/** @internal */
export declare const AgentMessageItem$outboundSchema: z.ZodType<AgentMessageItem$Outbound, AgentMessageItem>;
export declare function agentMessageItemToJSON(agentMessageItem: AgentMessageItem): string;
//# sourceMappingURL=agentmessageitem.d.ts.map