import { ReactElement } from 'react'; import { PanelPosition } from './types'; import { PanelStateOptions } from './types/PanelStateOptions'; export interface PanelInstance { uniqueId: string; componentInstance: ReactElement; zIndex: number; poppedOut: boolean; window: Window | null; onClose?: () => void; hidden: boolean; } export interface OpenPanelOptions { uniqueId?: string; componentFn: () => ReactElement; poppedOut?: boolean; onClose?: () => void; } export interface PanelsContextType { openPanels: Set; hasOpenPanel: (panelId: string) => boolean; openPanel: (args: OpenPanelOptions) => string | null; closePanel: (uniqueId: string | string[]) => void; hidePanel: (uniqueId: string | string[]) => void; hideAllPanels: () => void; unhidePanel: (uniqueId: string | string[]) => void; unhideAllPanels: () => void; hasHiddenPanel: (uniqueId: string) => boolean; bringPanelToFront: (panelUniqueId: string) => void; nextStackPosition: () => PanelPosition; dockElements: Record; setDockElement: (id: string, element: HTMLDivElement) => void; panelStateOptions?: PanelStateOptions | null; } export declare const PanelsContext: import("react").Context;