export interface ChatMessage {
    role: "user" | "agent";
    content: string | undefined;
    id?: string;
    obo?: boolean;
}
export type ToolApprovalStatus = "pending" | "accepted" | "rejected" | "superseded" | "expired" | "error";
export interface ToolApprovalChat {
    role: "tool_approval";
    /** tool_call_id — the React key and the correlation id for the response. */
    id: string;
    toolName: string;
    toolInput?: Record<string, unknown>;
    status: ToolApprovalStatus;
    conversationId?: string;
    source: "live" | "history";
    originalMessage?: string;
    held?: boolean;
    inFlight?: boolean;
}
export type Chat = ChatMessage | ToolApprovalChat;
