import { ComponentPropsWithoutRef, ReactNode } from 'react'; export type UserMessageProps = Omit, "children" | "content" | "style"> & { /** Rendered inside the bubble; plain strings become the default copy source. */ content: ReactNode; /** * Announced as an alert. Empty strings render nothing. Pair with `onRetry` * to show retry. */ error?: string; /** Formatted for the current locale beneath the bubble. */ timestamp: Date | string | number; /** * Copy source, overriding plain-string `content`. Required to copy rich * content; without either text source, the action is omitted. */ copyText?: string; /** Enables retry while `error` is present. */ onRetry?: () => void | Promise; /** * Hides the toolbar until hover or focus. Touch always shows it. Defaults to * `false`. */ revealToolbarOnHover?: boolean; };