import { App } from "../../../../main/app/app"; import { ClientAppConfiguration } from "../../../../shared/types/global"; import { IPCHandler } from "./handler/IPCHandler"; import { IPCEventType } from "../../../../shared/types/ipcEvents"; import { WindowProxy } from "./windowProxy"; import { AppEventToken } from "../../types"; export interface WindowConfig { isolated: boolean; autoFocus: boolean; options?: Electron.BrowserWindowConstructorOptions; } export interface AppWindowConfig { preload: string; } export declare class AppWindow extends WindowProxy { static readonly DefaultConfig: WindowConfig; constructor(app: App, config: Partial, appConfig: AppWindowConfig); registerIPCHandler(handler: IPCHandler): void; onClose(fn: () => void): AppEventToken; onEvent(event: string, fn: (payload: Request) => Promise | Response): AppEventToken; isFullScreen(): boolean; enterFullScreen(): void; exitFullScreen(): void; reload(): void; toggleDevTools(): void; installExtension(extensionIdOrPath: string): Promise; setIcon(icon: string): void; show(): Promise; loadURL(url: string): Promise; loadFile(file: string): Promise; setTitle(title: string): void; getTitle(): string; getClientAppConfig(): ClientAppConfiguration; onKeyUp(key: KeyboardEvent["key"], fn: (event: Electron.Event, input: Electron.Input) => void): AppEventToken; private initialize; private prepareEvents; get win(): Electron.CrossProcessExports.BrowserWindow; get app(): App; }