import type { TamboThreadMessage } from "@tambo-ai/react"; import { type VariantProps } from "class-variance-authority"; import * as React from "react"; /** * CSS variants for the message container * @typedef {Object} MessageVariants * @property {string} default - Default styling * @property {string} solid - Solid styling with shadow effects */ declare const messageVariants: (props?: ({ variant?: "default" | "solid" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; /** * Props for the Message component. * Extends standard HTMLDivElement attributes. */ export interface MessageProps extends Omit, "content"> { /** The role of the message sender ('user' or 'assistant'). */ role: "user" | "assistant"; /** The full Tambo thread message object. */ message: TamboThreadMessage; /** Optional styling variant for the message container. */ variant?: VariantProps["variant"]; /** Optional flag to indicate if the message is in a loading state. */ isLoading?: boolean; /** The child elements to render within the root container. Typically includes Message.Bubble and Message.RenderedComponentArea. */ children: React.ReactNode; } /** * The root container for a message component. * It establishes the context for its children and applies alignment styles based on the role. * @component Message * @example * ```tsx * * * * * ``` */ declare const Message: React.ForwardRefExoticComponent>; /** * Loading indicator with bouncing dots animation * * A reusable component that displays three animated dots for loading states. * Used in message content and tool status areas. * * @component * @param {React.HTMLAttributes} props - Standard HTML div props * @param {string} [props.className] - Optional CSS classes to apply * @returns {JSX.Element} Animated loading indicator component */ declare const LoadingIndicator: React.FC>; /** * Props for the MessageContent component. * Extends standard HTMLDivElement attributes. */ export interface MessageContentProps extends Omit, "content"> { /** Optional override for the message content. If not provided, uses the content from the message object in the context. */ content?: string | { type: string; text?: string; }[]; /** Optional flag to render as Markdown. Default is true. */ markdown?: boolean; } /** * Displays the message content with optional markdown formatting. * Only shows text content - tool calls are handled by ToolcallInfo component. * @component MessageContent */ declare const MessageContent: React.ForwardRefExoticComponent>; /** * Props for the ToolcallInfo component. * Extends standard HTMLDivElement attributes. */ export interface ToolcallInfoProps extends Omit, "content"> { /** Optional flag to render response content as Markdown. Default is true. */ markdown?: boolean; } /** * Displays tool call information in a collapsible dropdown. * Shows tool name, parameters, and associated tool response. * @component ToolcallInfo */ declare const ToolcallInfo: React.ForwardRefExoticComponent>; /** * Props for the MessageRenderedComponentArea component. * Extends standard HTMLDivElement attributes. */ export type MessageRenderedComponentAreaProps = React.HTMLAttributes; /** * Displays the `renderedComponent` associated with an assistant message. * Shows a button to view in canvas if a canvas space exists, otherwise renders inline. * Only renders if the message role is 'assistant' and `message.renderedComponent` exists. * @component Message.RenderedComponentArea */ declare const MessageRenderedComponentArea: React.ForwardRefExoticComponent>; export { LoadingIndicator, Message, MessageContent, MessageRenderedComponentArea, messageVariants, ToolcallInfo, }; //# sourceMappingURL=message.d.ts.map