import type { UIEvent } from 'react'; import type { Promisable } from 'type-fest'; import type { id } from '../../../types/string_token'; import type { ChatMessage } from '../types/ChatMessage'; import type { ChatParticipant } from '../types/ChatParticipant'; import type { ParsedCitation } from '../utils/parseCitationsFromContent'; import type { ChatProps } from './ChatProps'; /** * Props for the Chat message list container. * * @private component of `` */ export type ChatMessageListProps = { messages: ReadonlyArray; participants: ReadonlyArray; expandedMessageId: id | null; messageRatings: Map; setExpandedMessageId: (value: id | null) => void; handleRating: (message: ChatMessage, rating: number) => void; mode: 'LIGHT' | 'DARK'; isCopyButtonEnabled?: boolean; isFeedbackEnabled?: boolean; /** * Chooses which feedback controls should be rendered. */ feedbackMode?: ChatProps['feedbackMode']; /** * Optional localized labels used by feedback controls. */ feedbackTranslations?: ChatProps['feedbackTranslations']; /** * Optional localized labels used by timestamp metadata. */ timingTranslations?: ChatProps['timingTranslations']; /** * Optional resolver for turning technical citation sources into page/document titles. */ resolveCitationLabel?: ChatProps['resolveCitationLabel']; /** * Optional moment locale used to format message timestamps. */ chatLocale?: ChatProps['chatLocale']; onCopy?: () => void; onMessage?: (messageContent: string) => Promisable; onActionButton?: ChatProps['onActionButton']; onQuickMessageButton?: ChatProps['onQuickMessageButton']; onQuickMessageDraftButton?: ChatProps['onQuickMessageDraftButton']; onReplyToMessage?: ChatProps['onReplyToMessage']; canReplyToMessage?: ChatProps['canReplyToMessage']; onCreateAgent?: (bookContent: string) => void; toolTitles?: Record; teammates?: ChatProps['teammates']; teamAgentProfiles?: ChatProps['teamAgentProfiles']; /** * Optional inline references rendered from `[[reference]]` tokens in message markdown. */ markdownInlineReferences?: ChatProps['markdownInlineReferences']; visualMode?: ChatProps['visualMode']; onToolCallClick?: (toolCall: NonNullable[number]) => void; onCitationClick?: (citation: ParsedCitation) => void; soundSystem?: ChatProps['soundSystem']; isSpeechPlaybackEnabled?: ChatProps['isSpeechPlaybackEnabled']; elevenLabsVoiceId?: ChatProps['elevenLabsVoiceId']; /** * Optional localized labels for Chat UI elements such as lifecycle badges. */ chatUiTranslations?: ChatProps['chatUiTranslations']; setChatMessagesElement: (element: HTMLDivElement | null) => void; onScroll: (event: UIEvent) => void; chatMessagesClassName?: string; hasActions: boolean; }; /** * Renders the list of chat messages. * * @private component of `` */ export declare function ChatMessageList(props: ChatMessageListProps): import("react/jsx-runtime").JSX.Element;