import { PresenterReport } from './presenter-report.js'; import type { AccountState } from '@reticlehq/core'; import { type AccountDetails } from './presenter-account.js'; import { type SettingsHost } from './presenter-settings.js'; interface HudShellCallbacks { onChatOpen?: () => void; onChatClose?: () => void; onExpand?: () => void; onAnnotateToggle?: (on: boolean) => void; onCollapse?: () => void; onSyncNow?: () => void; settings?: SettingsHost; } export declare class HudShell { #private; paintAccount(account: AccountState | undefined, dashboardUrl: string | undefined, details?: AccountDetails): void; constructor(callbacks?: HudShellCallbacks); static dockHtml(actStripHtml: string, bannerHtml: string, logAttr: string, flowsHtml: string, footHtml: string): string; get report(): PresenterReport; isAnnotateOn(): boolean; setAnnotateOn(on: boolean): void; mount(root: HTMLElement): void; teardown(): void; isCollapsed(): boolean; isChatOpen(): boolean; expand(): void; collapse(): void; openChat(): void; closeChat(): void; toggleChat(): void; showChat(): void; pulseFab(active: boolean): void; } export {};