import type { ComponentProps, ComponentPropsWithoutRef, ElementType, ReactNode } from "react"; import { Text } from "../Text/Text"; type Props = { /** * Whatever the content of the message is. */ children: string | ReactNode; className?: string; /** * The name of the person who sent this message. * * @example "Dr. Mike Brown" */ sender?: string; /** * The moment this message was sent or delivered. This * can be a full date, or the time, or a relative time, * even including other additional information. * * @example "14:02" * @example "Yesterday at 14:02" * @example "Delivered" */ timestamp?: string; /** * Text to indicate the message was read. Can be a full * date, or the time, or a relative time, even including * other additional information. * * @example "Read yesterday at 14:10" */ readReceipt?: string; color?: "blue" | "grey"; /** * Where to position the tip of the chat bubble. */ tipPosition?: "top-left" | "top-right" | "bottom-left" | "bottom-right"; /** * Accessory content to show in the footer, after the read receipt. */ footerAccessory?: ReactNode; }; type RootProps = Props & ComponentPropsWithoutRef & { as?: C; }; export declare function ChatBubble(props: RootProps): import("react").JSX.Element; export declare namespace ChatBubble { var Text: typeof ChatBubbleText; var DateIndicator: typeof ChatBubbleDateIndicator; } /** * SUBCOMPONENTS */ declare function ChatBubbleText(props: ComponentProps): import("react").JSX.Element; declare function ChatBubbleDateIndicator(props: { children: ReactNode; }): import("react").JSX.Element; export {};