import * as React from "react"; import type { ChatBubbleListProp, ChatBubbleProp } from "../../props/components/data-display.prop.js"; export type { ChatBubbleListProp, ChatBubblePlacementProp, ChatBubbleProp, ChatBubbleToneProp, ChatBubbleTypingProp, ChatBubbleVariantProp, ChatMessageProp, } from "../../props/components/data-display.prop.js"; export type ChatBubbleProps = ChatBubbleProp & Omit, keyof ChatBubbleProp>; /** * ChatBubble — ONE message in a conversation: an optional author mark, a header naming the turn, * the message body, and a footer for timestamps or per-message actions. * * It is an `
` inside the feed's `role="log"`, and it deliberately owns NO live region of * its own: one live region per bubble floods a screen reader on every token of a stream. The feed * (`ChatBubbleList`) owns the single `aria-live="polite"` region; a bubble only ever says "I am * still being produced" through `aria-busy`. */ export declare const ChatBubble: React.ForwardRefExoticComponent, keyof ChatBubbleProp> & React.RefAttributes>; export type ChatBubbleListProps = ChatBubbleListProp & Omit, keyof ChatBubbleListProp>; /** * ChatBubbleList — the message feed. * * The behaviour that earns this a component rather than a `ScrollArea` + `map` is STICK-TO-BOTTOM: * new messages keep the viewport pinned only while the reader is ALREADY at the bottom. The moment * they scroll up to re-read something the pin is revoked and stays revoked until they ask for it * back — silently yanking a reader to the newest message mid-sentence is a change of context they * did not request (WCAG 3.2.5), and it is the classic chat-UI defect. The way back is a real, * focusable button that also says how many messages arrived while they were away. * * GIVE IT A DEFINITE HEIGHT — `className="h-96"`, or a flex/grid parent that hands it a track. * The feed scrolls INSIDE itself; with no height it simply grows to its content, nothing ever * overflows, and every behaviour above has nothing to act on. */ export declare const ChatBubbleList: React.ForwardRefExoticComponent, keyof ChatBubbleListProp> & React.RefAttributes>;