import { type ChatCitation } from '../../../__generated__/graphql'; import { type Feedback } from '../../../hooks/useMessageFeedback'; import { FormConfig } from '../../Form/types'; import { type MessageArray } from './AIChatPage'; import { ChatCitationWithDisplayOrder } from './chatCitationHelperFunctions'; import { CitationNumberToDisplayOrderMap } from './markdownCitationHelperFunctions'; import { AIAnnotations } from './SubscribeToNewMessageForNewChat'; export interface ChatBubbleProps { message: MessageArray[number]; isListeningForResponse?: boolean; loading?: boolean; isLast?: boolean; ind: number; setShowFeedbackModal?: (ind: number) => void; setShowResponseEditor?: (ind: number) => void; submitPositiveFeedback?: (ind: number) => void; onLoadedCitations?: (ind: number) => void; chatSessionId: string; isMdContainer?: boolean; feedback: Feedback; openForm?: (form: FormConfig) => void; aiAnnotations: AIAnnotations; onModalClose?: () => void; } export declare const useStableCitationNumberToDisplayOrderMap: (usedCitations: ChatCitationWithDisplayOrder[]) => CitationNumberToDisplayOrderMap; export declare const stableUsedCitations: (message: MessageArray[number], citations: ChatCitation[]) => ChatCitationWithDisplayOrder[]; declare const ChatBubble: ({ message, loading, isListeningForResponse, ind, isLast, setShowFeedbackModal, setShowResponseEditor, submitPositiveFeedback, onLoadedCitations, isMdContainer, chatSessionId, feedback, openForm, aiAnnotations, onModalClose, }: ChatBubbleProps) => import("react/jsx-runtime").JSX.Element; export default ChatBubble;