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 { OpenAIContentItem, OpenAIContentItem$Outbound } from "./openaicontentitem.js";
import { OpenAIToolCall, OpenAIToolCall$Outbound } from "./openaitoolcall.js";
export declare const OpenAIChatCompletionMessageRole: {
    readonly System: "system";
    readonly User: "user";
    readonly Assistant: "assistant";
};
export type OpenAIChatCompletionMessageRole = ClosedEnum<typeof OpenAIChatCompletionMessageRole>;
export type OpenAIChatCompletionMessageContent = string | Array<OpenAIContentItem>;
export type OpenAIChatCompletionMessage = {
    role: OpenAIChatCompletionMessageRole;
    name?: string | null | undefined;
    content: string | Array<OpenAIContentItem>;
    toolCalls?: Array<OpenAIToolCall> | null | undefined;
};
/** @internal */
export declare const OpenAIChatCompletionMessageRole$inboundSchema: z.ZodNativeEnum<typeof OpenAIChatCompletionMessageRole>;
/** @internal */
export declare const OpenAIChatCompletionMessageRole$outboundSchema: z.ZodNativeEnum<typeof OpenAIChatCompletionMessageRole>;
/** @internal */
export declare const OpenAIChatCompletionMessageContent$inboundSchema: z.ZodType<OpenAIChatCompletionMessageContent, z.ZodTypeDef, unknown>;
/** @internal */
export type OpenAIChatCompletionMessageContent$Outbound = string | Array<OpenAIContentItem$Outbound>;
/** @internal */
export declare const OpenAIChatCompletionMessageContent$outboundSchema: z.ZodType<OpenAIChatCompletionMessageContent$Outbound, z.ZodTypeDef, OpenAIChatCompletionMessageContent>;
export declare function openAIChatCompletionMessageContentToJSON(openAIChatCompletionMessageContent: OpenAIChatCompletionMessageContent): string;
export declare function openAIChatCompletionMessageContentFromJSON(jsonString: string): SafeParseResult<OpenAIChatCompletionMessageContent, SDKValidationError>;
/** @internal */
export declare const OpenAIChatCompletionMessage$inboundSchema: z.ZodType<OpenAIChatCompletionMessage, z.ZodTypeDef, unknown>;
/** @internal */
export type OpenAIChatCompletionMessage$Outbound = {
    role: string;
    name?: string | null | undefined;
    content: string | Array<OpenAIContentItem$Outbound>;
    tool_calls?: Array<OpenAIToolCall$Outbound> | null | undefined;
};
/** @internal */
export declare const OpenAIChatCompletionMessage$outboundSchema: z.ZodType<OpenAIChatCompletionMessage$Outbound, z.ZodTypeDef, OpenAIChatCompletionMessage>;
export declare function openAIChatCompletionMessageToJSON(openAIChatCompletionMessage: OpenAIChatCompletionMessage): string;
export declare function openAIChatCompletionMessageFromJSON(jsonString: string): SafeParseResult<OpenAIChatCompletionMessage, SDKValidationError>;
//# sourceMappingURL=openaichatcompletionmessage.d.ts.map