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