import type TypedEmitter from 'typed-emitter'; import { SemVer } from "semver"; import { Language } from './languages'; export type UpdateCheckerNotifierEvents = { error: (error: Error, message?: string) => void; "checking-for-update": () => void; "update-not-available": (info: UpdateInfo) => void; "update-available": (info: UpdateInfo) => void; "this-is-last-update": (info: UpdateInfo) => void; }; export interface UpdateInfo { readonly currentVersion: string; readonly version: string; readonly descriptionRelease: string; readonly preRelease: boolean; } export interface Options { repository?: string; token?: string; debug?: boolean; enablePreRelease?: boolean; enableNewVersionAvailableDialog?: boolean; enableErrorDialog?: boolean; enableLatestVersionDialog?: boolean; language?: Language; logger?: Logger; } export interface Logger { info(message?: any): void; warn(message?: any): void; error(message?: any): void; debug?(message: string): void; } declare const UpdateCheckerNotifier_base: new () => TypedEmitter; export declare class UpdateCheckerNotifier extends UpdateCheckerNotifier_base { /** * The current application version. */ readonly currentVersion: SemVer; /** * Optional, use repository field from your package.json when not specified * `user/repo` */ repository: string; /** * Optional, GitHub api access token */ token: string; /** * Optional, default `false`, allows to check for updates during development as well * @default false */ debug: boolean; /** * Optional, notify pre-release version * @default false */ enablePreRelease: boolean; /** * Optional, notify when new version available, otherwise remain silent * @default true */ enableNewVersionAvailableDialog: boolean; /** * Optional, notifies you when you are already running the latest version. * @default false */ enableLatestVersionDialog: boolean; /** * Optional, notifies you when an error occurs * @default false */ enableErrorDialog: boolean; /** * Optional, default Language.EN * @default Language.EN */ get language(): Language; set language(value: Language); private _language; /** * The logger. You can pass [electron-log](https://github.com/megahertz/electron-log), [winston](https://github.com/winstonjs/winston) or another logger with the following interface: `{ info(), warn(), error() }`. * Set it to `null` if you would like to disable a logging feature. */ get logger(): Logger | null; set logger(value: Logger | null); private _logger; private translation; constructor(); updateNotification(options?: Options): void; private loadOptions; private checkForUpdates; private showUpdateDialog; private showDialog; private error; private loadTranslation; } export {};