import type { BackendExplanation } from '@flighthq/types/contract'; import type { MenuItemTemplate, RectangleLike, TrayBackend, TrayBalloonOptions, TrayCapabilities, TrayEventData, TrayIcon, TrayIconOptions } from '@flighthq/types/contract'; import type { Vector2Like } from '@flighthq/types/contract'; export declare function createTrayIcon(options?: Readonly): TrayIcon | null; export declare function destroyTrayIcon(tray: TrayIcon): void; export declare function displayTrayBalloon(tray: TrayIcon, options: Readonly): void; export declare function explainTrayBackend(): BackendExplanation; export declare function getTrayBackend(): TrayBackend; export declare function getTrayCapabilities(): Readonly; export declare function getTrayIconBounds(tray: TrayIcon): Readonly | null; export declare function getTrayIcons(): readonly TrayIcon[]; export declare function getTrayIconTitle(tray: TrayIcon): string; export declare function getTrayIconTooltip(tray: TrayIcon): string; export declare function installTrayHostBackend(backend: TrayBackend): void; export declare function isTrayDestroyed(tray: TrayIcon): boolean; export declare function isTrayIconAnimating(tray: TrayIcon): boolean; export declare function observeTrayHostResult(operation: string, succeeded: boolean): void; export declare function onTrayEvent(listener: (event: Readonly) => void): () => void; export declare function popupTrayContextMenu(tray: TrayIcon, position?: Readonly): void; export declare function removeTrayBalloon(tray: TrayIcon): void; export declare function resetTrayBackendForTest(): void; /** Installs the tray guard, or clears it with `null`. The seam exists so the messages and the * `@flighthq/log` dependency live in the separately-importable guard module rather than here; not * importing that module costs production nothing. Called by `enableTrayGuards`, not directly. */ export declare function setTrayAnimationGuard(guard: ((tray: TrayIcon, frameCount: number, intervalMs: number) => void) | null): void; export declare function setTrayBackend(backend: TrayBackend | null): void; export declare function setTrayIcon(tray: TrayIcon, icon: string): void; export declare function setTrayIconContextMenu(tray: TrayIcon, items: readonly MenuItemTemplate[]): void; export declare function setTrayIconTemplate(tray: TrayIcon, isTemplate: boolean): void; export declare function setTrayIconTitle(tray: TrayIcon, title: string): void; export declare function setTrayIconTooltip(tray: TrayIcon, tooltip: string): void; export declare function setTrayIgnoreDoubleClickEvents(tray: TrayIcon, ignore: boolean): void; export declare function setTrayPressedIcon(tray: TrayIcon, icon: string): void; export declare function startTrayIconAnimation(tray: TrayIcon, frames: readonly string[], intervalMs: number): () => void; export declare function stopTrayIconAnimation(tray: TrayIcon): void; //# sourceMappingURL=tray.d.ts.map