UNPKG

@minimaltech/electron-infra

Version:

Minimal Technology ElectronJS Infrastructure

86 lines (85 loc) 4.26 kB
import { AnyType, ApplicationLogger, ValueOrPromise } from '@minimaltech/node-infra'; import { Application, Binding, BindingTag, Constructor, DynamicValueProviderClass } from '@minimaltech/node-infra/@loopback/core'; import { AppUpdater, ProgressInfo, UpdateInfo } from 'electron-updater'; import { IAutoUpdaterOptions, IElectronApplication, IWindowManager } from '../../common/types'; export declare abstract class AbstractElectronApplication extends Application implements IElectronApplication { protected logger: ApplicationLogger; protected application: Electron.App; protected autoUpdater: AppUpdater; protected windowManager: IWindowManager; protected autoUpdaterOptions?: { use: false; } | IAutoUpdaterOptions<AnyType>; constructor(opts: { scope: string; appName?: string; application: Electron.App; autoUpdater?: AppUpdater; windowManager?: IWindowManager; autoUpdaterOptions?: { use: false; } | IAutoUpdaterOptions<AnyType>; }); abstract onBeforeMigrate(): ValueOrPromise<void>; abstract onMigrate(): ValueOrPromise<void>; abstract onAfterMigrate(): ValueOrPromise<void>; abstract onWillFinishLaunching(): void; abstract onReady(): void; abstract onSecondApplicationInstance(event: Electron.Event, args: string[], dir: string, additionalData: any): void; abstract onBrowserWindowCreated(event: Electron.Event, window: Electron.BrowserWindow): void; abstract onAllWindowsClosed(): void; abstract onWillQuit(event: Electron.Event): void; abstract onBeforeQuit(event: Electron.Event): void; abstract onQuit(event: Electron.Event, exitCode: number): void; abstract getProjectRoot(): string; abstract bindContext(): ValueOrPromise<void>; abstract onCheckingForUpdate(): ValueOrPromise<void>; abstract onUpdateAvailable(updateInfo: UpdateInfo): ValueOrPromise<void>; abstract onUpdateNotAvailable(updateInfo: UpdateInfo): ValueOrPromise<void>; abstract onDownloadProgress(progress: ProgressInfo): ValueOrPromise<void>; abstract onUpdateDownloaded(updateInfo: UpdateInfo): ValueOrPromise<void>; abstract onUpdateError(error: Error): ValueOrPromise<void>; getAutoUpdater(): AppUpdater; executeWin32SignatureVerification(): void; bindAutoUpdater(): ValueOrPromise<void>; getApplicationInstance(): Electron.App; getDialog(): Electron.Main.Dialog; getWindowManager(): IWindowManager; getPreloadPath(opts?: { fileName?: string; }): string; preConfigure(): ValueOrPromise<void>; postConfigure(): ValueOrPromise<void>; getMethodExecutor(opts: { binding: Readonly<Binding<any>>; methodName: string; }): (...args: any[]) => unknown; buildRoute(opts: { binding: Readonly<Binding<any>>; methodName: string; }): void; buildRoutes(): void; injectable<T>(scope: string, value: DynamicValueProviderClass<T> | Constructor<T>, tags?: BindingTag[]): void; datasource<T>(value: DynamicValueProviderClass<T> | Constructor<T>): void; repository<T>(value: DynamicValueProviderClass<T> | Constructor<T>): void; bindEvents(): void; start(): Promise<void>; } export declare abstract class BaseElectronApplication extends AbstractElectronApplication { onBeforeMigrate(): ValueOrPromise<void>; onMigrate(): ValueOrPromise<void>; onAfterMigrate(): ValueOrPromise<void>; onWillFinishLaunching(): void; onSecondApplicationInstance(event: Electron.Event, args: string[], _dir: string, _additionalData: any): void; onBrowserWindowCreated(event: Electron.Event, window: Electron.BrowserWindow): void; onAllWindowsClosed(): void; onWillQuit(event: Electron.Event): void; onBeforeQuit(event: Electron.Event): void; onQuit(event: Electron.Event, exitCode: number): void; onUpdateError(error: Error): ValueOrPromise<void>; onCheckingForUpdate(): ValueOrPromise<void>; onUpdateNotAvailable(updateInfo: UpdateInfo): ValueOrPromise<void>; onUpdateAvailable(updateInfo: UpdateInfo): Promise<void>; onDownloadProgress(progress: ProgressInfo): ValueOrPromise<void>; onUpdateDownloaded(updateInfo: UpdateInfo): ValueOrPromise<void>; }