/*! * Copyright 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ import { ExtendedHTMLElement } from '../../helper/dom'; import { CardRenderDetails, ChatItem, DetailedList, PromptAttachmentType } from '../../static'; import { TopBarButtonOverlayProps } from './prompt-input/prompt-top-bar/top-bar-button'; export declare const CONTAINER_GAP = 12; export interface ChatWrapperProps { onStopChatResponse?: (tabId: string) => void; tabId: string; } export declare class ChatWrapper { private readonly props; private readonly chatItemsContainer; private readonly promptInputElement; private readonly promptInput; private readonly footerSpacer; private readonly headerSpacer; private readonly promptInfo; private readonly promptStickyCard; private canObserveIntersection; private observer; private activeConversationGroup; private tabHeaderDetails; private tabModeSwitchTimeout; private lastStreamingChatItemCard; private lastStreamingChatItemMessageId; private allRenderedChatItems; render: ExtendedHTMLElement; private readonly dragOverlayContent; private readonly dragBlurOverlay; private dragOverlayVisibility; private imageContextFeatureEnabled; constructor(props: ChatWrapperProps); private readonly getNewConversationGroupElement; private readonly removeEmptyCardsAndFollowups; private readonly insertChatItem; private readonly checkLastAnswerStreamChange; updateLastChatAnswer: (updateWith: Partial) => void; getLastStreamingMessageId: () => string | null; getChatItem: (messageId: string) => { chatItem: ChatItem; render: ExtendedHTMLElement | HTMLElement; renderDetails: CardRenderDetails; } | undefined; endStreamWithMessageId: (messageId: string, updateWith: Partial) => void; updateChatAnswerWithMessageId: (messageId: string, updateWith: Partial) => void; addAttachmentToPrompt: (textToAdd: string, type?: PromptAttachmentType) => void; openTopBarButtonItemOverlay: (data: TopBarButtonOverlayProps) => void; updateTopBarButtonItemOverlay: (data: DetailedList) => void; closeTopBarButtonItemOverlay: () => void; getPromptInputCursorPosition: () => number; destroy: () => void; getCurrentTriggerSource(): 'top-bar' | 'prompt-input'; setDragOverlayVisible(visible: boolean): void; }