import { ReactNode } from 'react'; /** * Props for a reusable chat message bubble component. * Designed to be composed into full chat UIs. */ export interface ChatMessageBubbleProps { /** Optional list of attachment links */ attachments?: Array<{ href: string; label: string; }>; /** Additional class names */ className?: string; /** The main message content (text or rich) */ content: ReactNode; /** Unique message identifier */ id: string; /** Whether the message has been soft-deleted */ isDeleted?: boolean; /** Whether this message belongs to the current user (right-aligned, different style) */ isOwn?: boolean; /** Click handler (e.g. to select for actions) */ onClick?: () => void; /** Optional avatar image URL */ senderAvatar?: string | null; /** Display name of the sender */ senderLabel: string; /** ISO timestamp or formatted time */ timestamp?: string; } /** * Legacy left/right chat bubble. * * Prefer {@link ChatMessage} for discussion-style UIs. Kept for backwards compatibility. * * @example * ```tsx * * ``` * * Presentational primitive — fully supported; you own the data. * {@link AthenaChatMessageList} renders bubbles from Athena state, but there is * no connected equivalent for a single bubble: this is the only such component. */ export declare function ChatMessageBubble({ senderLabel, senderAvatar, content, timestamp, isOwn, isDeleted, attachments, onClick, className }: ChatMessageBubbleProps): import("react").JSX.Element;