import { ProposedToolCall } from './ProposedToolCall';
export type AssistantMessage = {
    type: 'assistant';
    text: string;
    promptTokensUsed: number;
    completionTokensUsed: number;
};
export type StructuredOutputMessage = {
    type: 'structured_output';
    output: Record<string, unknown>;
    promptTokensUsed: number;
    completionTokensUsed: number;
};
export type ProposedToolCallsMessage = {
    type: 'proposed_tool_calls';
    proposedToolCalls: ProposedToolCall<Record<string, unknown>>[];
    promptTokensUsed: number;
    completionTokensUsed: number;
};
export type SystemMessage = {
    type: 'system';
    text: string;
};
export type ToolCallResultMessage = {
    type: 'tool_call_result';
    toolName: string;
    data: string;
    toolCallId: string;
};
export type PngItem = {
    type: 'png';
    bytes: Uint8Array;
};
export type TextItem = {
    type: 'text';
    text: string;
};
export type UserMessageItem = PngItem | TextItem;
export type UserMessage = {
    type: 'user';
    items: UserMessageItem[];
};
export type GptMessage = AssistantMessage | StructuredOutputMessage | ProposedToolCallsMessage | SystemMessage | ToolCallResultMessage | UserMessage;
//# sourceMappingURL=GptMessage.d.ts.map