import React, { Dispatch, SetStateAction } from 'react'; import { Resizable } from 're-resizable'; export interface AppWindowProviderProps { children: React.ReactNode; isOpen: boolean; onClose: () => void; defaultWindowWidth?: number; defaultWindowHeight?: number; initialPosition?: { x?: number | null; y?: number | null; }; minWidth?: string | number; maxWidth?: string | number; minHeight?: string | number; maxHeight?: string | number; } export interface AppWindowContextProps { position: { x: number; y: number; }; setPosition: Dispatch>; dimensions: { width: number; height: number; }; viewerDefaultWidth: number; viewerDefaultHeight: number; windowZIndex: number; isOpen: boolean; setIsMaximized: Dispatch>; setIsSidebarExpanded: Dispatch>; setIsToolbarAnimationDisabled: Dispatch>; setIsResized: Dispatch>; setNewDimensions: Dispatch>; isMaximized: boolean; isToolbarAnimationDisabled: boolean; isSidebarExpanded: boolean; isResized: boolean; onClose: () => void; resizableRef: React.MutableRefObject; fullWindowWidth: number; fullWindowHeight: number; /** * @deprecated Please use `updateSize` */ updateRefSize: (size: { width?: number; height?: number; }) => void; updateSize: (size: { width?: number; height?: number; }) => void; minWidth?: string | number; maxWidth?: string | number; minHeight?: string | number; maxHeight?: string | number; }