import { Chat } from './chat'; export interface ChatGuiOptions { document?: Document; popout?: boolean; onClose?: () => void; onUnreadChange?: (count: number) => void; title?: string; } /** Open or focus the callable Datalynk chat GUI. */ export declare function openChat(chat: Chat, options?: ChatGuiOptions): ChatWindow; export declare function closeChat(doc?: Document): void; export declare class ChatWindow { private readonly chat; private readonly options; private readonly doc; private readonly host; private readonly root; private readonly subscriptions; private selected; private searchTimer; private typingTimer; private typingSent; private resizeObserver?; private renderedMessageIds; private destroyed; onDestroyed?: () => void; constructor(chat: Chat, options: ChatGuiOptions); private get api(); show(): void; destroy(): void; private get shell(); private get searchInput(); private get conversationList(); private get messageList(); private get composer(); private get sendButton(); private query; private bind; private subscribe; private renderPeople; private renderConversations; private personButton; private renderSelectedUser; private renderMessages; private renderTyping; private renderError; private renderConnection; private onComposerInput; private send; private popout; private makeDraggable; private initializeGui; private restoreMinimized; private setMinimized; private saveMinimized; private readSelectedUser; private writeSelectedUser; private storageKey; private restoreGeometry; private saveGeometry; private readDraft; private writeDraft; } //# sourceMappingURL=chat-gui.d.ts.map