import { HTMLAttributes, ReactNode } from 'react';
export interface ChatMessageGroupProps extends HTMLAttributes {
children: ReactNode;
className?: string;
/** When true, wraps children in a shared rounded surface. */
sharedSurface?: boolean;
}
/**
* Groups related discussion messages with tighter spacing.
*
* Presentational primitive — fully supported; you own the data. Connected
* counterpart: {@link AthenaChatMessageList} groups consecutive messages by
* sender itself. The pure grouping utility {@link groupDiscussionMessages} is
* usable from either layer.
*/
export declare function ChatMessageGroup({ children, className, sharedSurface, ...props }: ChatMessageGroupProps): import("react").JSX.Element;
export interface ChatMessageLike {
id: string;
replyToMessageId?: string | null;
roomSeq?: number | null;
senderId: string;
}
/**
* Groups messages for discussion layout.
* Contiguous same-sender messages without a reply break stay together;
* reply chains also stay adjacent.
*/
export declare function groupDiscussionMessages(messages: readonly T[], options?: {
maxGapSeq?: number;
}): T[][];