import RWLockfile from 'rwlockfile'; import Config from './config'; import deps from './deps'; export interface IVersion { version: string; channel: string; message?: string; } export interface IManifest { version: string; channel: string; sha256gz: string; rollout?: number; } export declare class Updater { config: Config; lock: RWLockfile; http: typeof deps.HTTP; constructor(config: Config); readonly autoupdatefile: string; readonly autoupdatelogfile: string; readonly versionFile: string; private readonly clientRoot; private readonly clientBin; private readonly binPath; private readonly s3Host; s3url(channel: string, p: string): string; fetchManifest(channel: string, oclif: boolean): Promise; fetchVersion(download: boolean): Promise; warnIfUpdateAvailable(): Promise; autoupdate(force?: boolean): Promise; update(manifest: IManifest, oclif: boolean): Promise; tidy(): Promise; private extract(stream, dir, sha); private base(manifest); private autoupdateNeeded(); readonly timestampEnvVar: string; readonly skipAnalyticsEnvVar: string; readonly autoupdateEnv: { [k: string]: string; }; private reexecUpdate(); private _createBin(manifest); private _catch(fn); }