import { UpdateInfo, AllPublishOptions, DownloadOptions } from "builder-util-runtime"; import { AppUpdater } from "./AppUpdater"; import { ResolvedUpdateFileInfo } from "./main"; export declare abstract class BaseUpdater extends AppUpdater { protected quitAndInstallCalled: boolean; private quitHandlerAdded; protected constructor(options?: AllPublishOptions | null, app?: any); quitAndInstall(isSilent?: boolean, isForceRunAfter?: boolean): Promise; protected executeDownload(taskOptions: DownloadExecutorTask): Promise>; protected abstract doInstall(installerPath: string, isSilent: boolean, isRunAfter: boolean): boolean; protected install(isSilent: boolean, isRunAfter: boolean): Promise; protected addQuitHandler(): void; } export interface DownloadExecutorTask { readonly fileExtension: string; readonly downloadOptions: DownloadOptions; readonly fileInfo: ResolvedUpdateFileInfo; readonly updateInfo: UpdateInfo; readonly task: (destinationFile: string, packageFile: string | null, removeTempDirIfAny: () => Promise) => Promise; }