import type { ReactNode } from "react"; import type { ChatMessage, ToolCall } from "../../../lib/trace/types.js"; export type RenderMarkdown = (text: string) => ReactNode; /** Props shared by the message-rendering components (kills the repeated `{message, renderMarkdown}` shape). */ interface MessageProps { message: ChatMessage; renderMarkdown?: RenderMarkdown; } /** A bordered, role-labeled Card: role Badge + body (markdown slot or plain text) + raw-JSON toggle. */ export declare function MessageCard({ message, renderMarkdown }: MessageProps): import("react").JSX.Element; /** A dedicated tool-call card: function name + call-id + JSON arguments. Linked to its result by id. */ export declare function ToolCallCard({ call }: { call: ToolCall; }): import("react").JSX.Element; /** A tool-result card, linked to its originating call by `tool_call_id`. */ export declare function ToolResultCard({ message }: { message: ChatMessage; }): import("react").JSX.Element; /** Render one chat message as its appropriate card kind (tool-result → tool-calls → plain message). */ export declare function MessageItem({ message, renderMarkdown }: MessageProps): import("react").JSX.Element; export {};