import { ReactNode } from 'react'; export interface ChatMessageListProps { children?: ReactNode; className?: string; emptyDescription?: ReactNode; emptyTitle?: ReactNode; error?: ReactNode; hasOlderMessages?: boolean; isLoading?: boolean; isLoadingOlder?: boolean; /** Changes when the room or primary timeline identity changes. */ listKey?: string; /** Latest message identity used for stick-to-bottom decisions. */ newestItemKey?: string; onLoadOlder?: () => void; onScrollStateChange?: (state: { isAtBottom: boolean; isNearTop: boolean; }) => void; showNewMessagesAffordance?: boolean; unreadSeparatorBeforeId?: string | null; unreadSeparatorLabel?: ReactNode; } /** * Scrollable discussion viewport with pagination and stick-to-bottom behavior. * * Presentational primitive — fully supported; you own the data. Connected * counterpart: {@link AthenaChatMessageList} keeps this scroll behaviour and * additionally renders bubbles, groups, reactions and message actions from * Athena state, driving paging through `next_before_seq` rather than a host * callback. Use `ChatMessageList` when you supply your own children. */ export declare function ChatMessageList({ children, className, emptyDescription, emptyTitle, error, hasOlderMessages, isLoading, isLoadingOlder, listKey, newestItemKey, onLoadOlder, onScrollStateChange, showNewMessagesAffordance, unreadSeparatorBeforeId, unreadSeparatorLabel }: ChatMessageListProps): import("react").JSX.Element;