import { CommandBaseTenantless } from '../../command-base-tenantless';
export default class DepUpgrade extends CommandBaseTenantless {
    static description: string;
    static flags: {
        help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
        version: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
    };
    static args: {
        dependency: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
    };
    run(): Promise<void>;
    promptForVersion(packageName: string, defaultVersion?: string, versionSearch?: string): Promise<string>;
    private fetchVersions;
    private searchVersions;
    /** Retrieves the list of dependencies that are out of date with the registry.
     * Provides for each package: the version currently installed,
     * the latest version that complies with the symantic range,
     * and the latest version overall.
     */
    private getNpmUpgrades;
}
export type UpgradeState = {
    [name: string]: SingleUpgradeState;
};
/** A snapshot of the current version versus what's available in the registry.
 * @see https://docs.npmjs.com/cli-commands/outdated.html
*/
export type SingleUpgradeState = {
    /** The currently version **actually installed**, not the SemVer entry in the package.json. */
    current: string;
    /** wanted is the maximum version of the package that satisfies the semver range specified in package.json.
     * If there’s no available semver range, then wanted shows the currently-installed version. */
    wanted: string;
    /**  latest is the version of the package tagged as latest in the registry.
     * Running npm publish with no special configuration will publish the package with a dist-tag of latest.
     * This may or may not be the maximum version of the package,
     * or the most-recently published version of the package,
     * depending on how the package’s developer manages the latest dist-tag. */
    latest: string;
    /** location is where in the dependency tree the package is located.
     * Note that npm outdated defaults to a depth of 0, so unless you override that,
     * you’ll always be seeing only top-level dependencies that are outdated. */
    location: string;
};
