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>;