import * as z from "zod/v3";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { OpenAIExtendedMessage, OpenAIExtendedMessage$Outbound } from "./openaiextendedmessage.js";
import { SupportCopilotMessage, SupportCopilotMessage$Outbound } from "./supportcopilotmessage.js";
import { SupportTicketMessage, SupportTicketMessage$Outbound } from "./supportticketmessage.js";
export type Message = (OpenAIExtendedMessage & {
    type: "openai";
}) | (SupportTicketMessage & {
    type: "support_ticket";
}) | (SupportCopilotMessage & {
    type: "support_copilot";
});
/** @internal */
export declare const Message$inboundSchema: z.ZodType<Message, z.ZodTypeDef, unknown>;
/** @internal */
export type Message$Outbound = (OpenAIExtendedMessage$Outbound & {
    type: "openai";
}) | (SupportTicketMessage$Outbound & {
    type: "support_ticket";
}) | (SupportCopilotMessage$Outbound & {
    type: "support_copilot";
});
/** @internal */
export declare const Message$outboundSchema: z.ZodType<Message$Outbound, z.ZodTypeDef, Message>;
export declare function messageToJSON(message: Message): string;
export declare function messageFromJSON(jsonString: string): SafeParseResult<Message, SDKValidationError>;
//# sourceMappingURL=message.d.ts.map