import { EStyle, OsEventEmitter } from '..'; export interface OSWindowBounds { width: number; height: number; x: number; y: number; zIndex: number; } export interface OSWindowState { fullscreen?: boolean; focus: boolean; min: boolean; max: boolean; screen: any[]; } export interface OSWindowConfig { isMin?: boolean; isMax: boolean; resizable: boolean; multiScreen: boolean; mask: boolean; closable: boolean; headerStyle?: any; contentStyle?: any; } export interface OSContentRect { width: number; height: number; left: number; right: number; top: number; bottom: number; x: number; y: number; } export interface IWin { title: string; iconId: string; id?: string; parentId?: string | null | undefined; bounds?: OSWindowBounds; state?: OSWindowState; settings?: OSWindowConfig; contentRect?: OSContentRect; app?: any; el?: HTMLElement | undefined; Events?: any; firstOpenDate?: number; } export interface OSWindow extends OsEventEmitter { id: string; parent: OSWindow | undefined; title: string; iconId?: string; app?: any; children: OSWindow[]; el: HTMLElement | undefined; bounds: OSWindowBounds; state: OSWindowState; theme: EStyle | null; contentRect: OSContentRect; settings: OSWindowConfig; lastOpenDate: number; firstOpenDate: number; maxZIndex: number; zIndex: number | ((z: number) => void); screen: any[] | ((screen: any[]) => void); setMultiScreen: (flag: boolean) => void; fullscreen: (flag: boolean) => void; focus: (flag: boolean) => void; minimize: () => void; maximize: () => void; restore: () => void; close: () => void; appendChild: (win: IWin) => OSWindow; } export declare class OsWindowHelper { static find(id: string): any; static open(params: any): Promise; static close(wId: string): void; static getCurrentWindowId(dom?: Element | null): string | null | undefined; }