///
import { Lock } from './lock';
import { Config } from 'cli-engine-config';
export declare type Version = {
version: string;
channel: string;
message?: string;
};
export declare type Manifest = {
version: string;
channel: string;
sha256gz: string;
};
export declare class Updater {
config: Config;
lock: Lock;
constructor(config: Config);
readonly autoupdatefile: string;
readonly autoupdatelogfile: string;
readonly versionFile: string;
private readonly clientRoot;
private readonly clientBin;
private _binPath;
private readonly binPath;
s3url(channel: string, p: string): string;
fetchManifest(channel: string): Promise;
fetchVersion(download: boolean): Promise;
_catch(fn: Function): Promise;
update(manifest: Manifest): Promise;
extract(stream: NodeJS.ReadableStream, dir: string, sha: string): Promise;
private _rename(from, to);
private _remove(dir);
private _mkdirp(dir);
base(manifest: Manifest): string;
private autoupdateNeeded();
autoupdate(force?: boolean): Promise;
readonly timestampEnvVar: string;
readonly skipAnalyticsEnvVar: string;
readonly autoupdateEnv: {
[k: string]: string;
};
warnIfUpdateAvailable(): Promise;
spawnBinPath(binPath: string, args: string[], options: Object): any;
private _createBin(dst, manifest);
}