import type { BrowserWindow, BrowserWindowConstructorOptions, LoadFileOptions } from 'electron'; import { AppWindow } from './app-window'; export abstract class FileAppWindow extends AppWindow { protected loadOptions: LoadFileOptions; protected constructor( logger: LoggerInterface, uri: string, options: BrowserWindowConstructorOptions = {}, loadOptions: LoadFileOptions = {}, ) { super(logger, uri, options); this.loadOptions = loadOptions; } protected load(window: BrowserWindow): Promise { return window.loadFile(this.uri, this.loadOptions); } }