import type React from 'react'; /** * @csspart base, content, sender, timestamp */ export interface MessageBubbleOwnProps { /** * Unique identifier for the element. * @example 'example-id' */ id?: string; /** * Role of the message sender (user or assistant). * @example 'example' */ messageRole?: string; /** * Visual style variant. Allowed values: `filled`, `ghost`. * @example 'filled' */ variant?: 'filled' | 'ghost'; /** * Corner radius style. Allowed values: `sharp`, `rounded`. * @example 'sharp' */ shape?: 'sharp' | 'rounded'; /** * Content alignment. Allowed values: `auto`, `start`, `end`. * @example 'auto' */ alignment?: 'auto' | 'start' | 'end'; /** * Component size. Allowed values: `xs`, `sm`, `md`, `lg`, `xl`. * @example 'xs' */ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; /** * Text content to display. * @example 'Example content' */ content?: string; /** * Pre-rendered HTML content for the message body. * @example 'example' */ htmlContent?: string; /** * Display name of the message sender. * @example 'example' */ senderName?: string; /** * Timestamp text displayed with the message. * @example 'example' */ timestamp?: string; /** * Border treatment for the bubble: `auto` follows the variant, `none` removes it. Allowed values: `auto`, `none`. * @example 'auto' */ border?: 'auto' | 'none'; /** * Whether to animate transitions between states. * @defaultValue false * @example true */ animated?: boolean; /** * Message role: 'user' or 'assistant'. Controls alignment and styling. Allowed values: `user`, `assistant`. * @example 'user' */ role?: 'user' | 'assistant'; /** Default slot content. * @example Content */ children?: React.ReactNode; /** CSS class applied to the Custom Element host. * @example 'my-component' */ className?: string; /** Inline styles applied to the Custom Element host. * @example { marginTop: 8 } */ style?: React.CSSProperties; } /** * Props for ``: the component's own API plus every standard DOM * attribute and native React event handler, forwarded verbatim to the * `` host — `id`, `data-*`, `aria-*`, `title`, `tabIndex`, * `slot`, `onMouseEnter`, and the rest. Own props always win over a * same-named DOM attribute. */ export type MessageBubbleProps = MessageBubbleOwnProps & Omit, keyof MessageBubbleOwnProps | 'children' | 'dangerouslySetInnerHTML'>; export declare const MessageBubble: React.ForwardRefExoticComponent, "dangerouslySetInnerHTML" | keyof MessageBubbleOwnProps> & React.RefAttributes>;