import { type BrowserWindowConstructorOptions, type BrowserWindow, type OpenDevToolsOptions } from 'electron'; export interface BrowserWindowScope { category?: string; id?: number; } export interface BrowserWindowAction extends BrowserWindowScope { focus?: boolean; create?: { ctorOptions: BrowserWindowConstructorOptions; category?: string; }; show?: null; loadURL?: string; openDevTools?: OpenDevToolsOptions | null; } export declare type BrowserWindowActionHandler = { [K in Exclude]: (options: { payload: Required[K]; browserWindow: BrowserWindow; }) => void; }; interface AllBrowserWindowEvents { focus: null; blur: null; } export declare type BrowserWindowEvent = { [K in keyof AllBrowserWindowEvents]: { type: K; browserWindow: BrowserWindow; data: AllBrowserWindowEvents[K]; }; }[keyof AllBrowserWindowEvents]; export declare type BrowserWindowEventCallback = { [K in keyof AllBrowserWindowEvents]: (payload: { type: K; data: AllBrowserWindowEvents[K]; }) => void; }[keyof AllBrowserWindowEvents]; export declare type BrowserWindowEventEmitters = { [K in keyof AllBrowserWindowEvents]: (browserWindow: BrowserWindow, cb: (data: AllBrowserWindowEvents[K]) => void) => void; }; export {};