import { Config } from '@oclif/core';
type Options = {
    autoUpdate: boolean;
    channel?: string | undefined;
    force?: boolean;
    version?: string | undefined;
};
type VersionIndex = Record<string, string>;
export declare class Updater {
    private config;
    private readonly clientBin;
    private readonly clientRoot;
    constructor(config: Config);
    fetchVersionIndex(): Promise<VersionIndex>;
    findLocalVersions(): Promise<string[]>;
    runUpdate(options: Options): Promise<void>;
    private createBin;
    private fetchVersionManifest;
    private findLocalVersion;
    private refreshConfig;
    private tidy;
    private touch;
    private update;
    private updateToExistingVersion;
}
export {};
