import { default as React } from 'react'; import { WindowState, WindowProps, AppRegistryEntry } from '../types'; import { WindowArrangement, WindowWorkArea } from '../utils/windowLayout'; interface WindowManagerActions { openWindow: (appId: string, title: string, component: React.ReactNode, icon?: string, props?: WindowProps) => string; closeWindow: (id: string) => void; minimizeWindow: (id: string) => void; maximizeWindow: (id: string) => void; resizeWindow: (id: string, width: number, height: number) => void; moveWindow: (id: string, left: number, top: number) => void; restoreWindowGeometry: (id: string, geometry: { left: number; top: number; width: number; height: number; }) => void; focusWindow: (id: string) => void; hideWindow: (id: string) => void; setWindowTitle: (id: string, title: string) => void; setWindowFrameless: (id: string, frameless: boolean) => void; setWindowBadge: (id: string, badge: string | number | null) => void; setWindowProgress: (id: string, progress: number | null) => void; flashWindow: (id: string) => void; setCloseGuard: (id: string, guard: ((forceClose: () => void) => void) | null) => void; setMinimizeGuard: (id: string, guard: ((defaultMinimize: () => void) => void) | null) => void; arrangeWindows: (arrangement: WindowArrangement, workArea: WindowWorkArea) => void; registerTaskTarget: (id: string, element: HTMLElement | null) => void; setWindowInteractionMode: (id: string, mode?: 'move' | 'size' | 'size-ns' | 'size-ew') => void; } interface WindowManagerContextType extends WindowManagerActions { windows: WindowState[]; activeWindowId: string | null; } export declare const useWindowManagerActions: () => WindowManagerActions; export declare const useActiveWindowId: () => string | null; /** Returns null outside a provider, for optional shell integrations such as dialogs. */ export declare const useOptionalActiveWindowId: () => string | null; /** Returns null outside a provider, for optional owner-window integrations. */ export declare const useOptionalWindows: () => WindowState[] | null; /** Merged, backward-compatible API. Subscribes to ALL window state. */ export declare const useWindowManager: () => WindowManagerContextType; /** Optional variant for scenario apps that are also rendered in isolation tests. */ export declare const useOptionalWindowManager: () => WindowManagerContextType | undefined; export declare const WindowManagerProvider: React.FC<{ children: React.ReactNode; registry?: Record; value?: Partial; }>; export {};