import type { DevToolbarApp as DevToolbarAppDefinition } from '../../../@types/astro.js'; import { type Icon } from './ui-library/icons.js'; export type DevToolbarApp = DevToolbarAppDefinition & { builtIn: boolean; active: boolean; status: 'ready' | 'loading' | 'error'; notification: { state: boolean; }; eventTarget: EventTarget; }; export declare class AstroDevToolbar extends HTMLElement { shadowRoot: ShadowRoot; delayedHideTimeout: number | undefined; devToolbarContainer: HTMLDivElement | undefined; apps: DevToolbarApp[]; hasBeenInitialized: boolean; customAppsToShow: number; constructor(); /** * All one-time DOM setup runs through here. Only ever call this once, * in connectedCallback(), and protect it from being called again. */ init(): void; connectedCallback(): void; attachEvents(): void; initApp(app: DevToolbarApp): Promise; getAppTemplate(app: DevToolbarApp): string; getAppById(id: string): DevToolbarApp | undefined; getAppCanvasById(id: string): HTMLElement | null; getAppButtonById(id: string): HTMLElement | null; toggleAppStatus(app: DevToolbarApp): Promise; setAppStatus(app: DevToolbarApp, newStatus: boolean): Promise; isHidden(): boolean; getActiveApp(): DevToolbarApp | undefined; clearDelayedHide(): void; triggerDelayedHide(): void; setToolbarVisible(newStatus: boolean): void; setNotificationVisible(newStatus: boolean): void; } export declare class DevToolbarCanvas extends HTMLElement { shadowRoot: ShadowRoot; constructor(); connectedCallback(): void; } export declare function getAppIcon(icon: Icon): string;