import { IpcRendererEvent, OpenExternalOptions } from 'electron'; import { Observable } from 'rxjs'; export interface ElectronAPI { // IPC STUFF ipcEvent$(evName: string): Observable; send(channel: string, ...args: any[]): void; invoke(channel: string, ...args: any[]): Promise; off(channel: string, listener: (event: IpcRendererEvent, ...args: any[]) => void): void; on(channel: string, listener: (event: IpcRendererEvent, ...args: any[]) => void): void; once( channel: string, listener: (event: IpcRendererEvent, ...args: any[]) => void, ): void; setZoomFactor(zoomFactor: number): void; getZoomFactor(): number; openPath(path: string): Promise; openExternal(url: string, options?: OpenExternalOptions): Promise; isMacOS(): boolean; // TODO implement reloadMainWin(): void; openDevTools(): void; relaunch(): void; exit(exitCode: number): void; isSystemDarkMode(): boolean; getUserDataPath(): Promise; scheduleRegisterBeforeClose(id: string): void; unscheduleRegisterBeforeClose(id: string): void; setDoneRegisterBeforeClose(id: string): void; }