import { PackageJSON } from '../types.js';
import { SETTINGS } from '../settings.js';
import { BranchObject } from 'semantic-release';
export default class UpdatePackages {
    private _packages;
    static _cacheCurrentBranch: string;
    private _originalPackageContent;
    private _originalRawText;
    private readonly _packageJSONPath;
    readonly settings: typeof SETTINGS;
    packageContent: PackageJSON;
    constructor(packagePath: string, _packages: string[]);
    private _updateVersions;
    private _readPackageJson;
    savePackageJson(): Promise<void>;
    restoreOriginalPackageJson(): Promise<void>;
    updateDeps(): Promise<void>;
    static getLatestVersion(packageName: string, settings?: {
        preReleaseVersionTemplate: string;
        registry: string;
        workspaces: string[];
        tagFormat: string;
        release: {
            extends: string;
            ci: boolean;
            branches: (string | BranchObject)[];
            plugins: any[];
        };
        semanticReleaseBin: string;
        semanticReleaseBinArgs: any[];
        changelogCommit: boolean;
        npmRelease: boolean;
        extendsReleaseRules: any[];
        extendsNoteGeneratorTypes: any[];
        extendsDefaultPlugins: any[];
        perPackageConfig: {};
        autoCreatedPlugins: boolean;
        skip: boolean;
    }): Promise<{
        version: string;
        isPrerelease: boolean;
    }>;
    useVersionTemplate(templateVersion: string, toVersion: string, isPrerelease?: boolean): string;
    static findBranchInfo(settings?: {
        preReleaseVersionTemplate: string;
        registry: string;
        workspaces: string[];
        tagFormat: string;
        release: {
            extends: string;
            ci: boolean;
            branches: (string | BranchObject)[];
            plugins: any[];
        };
        semanticReleaseBin: string;
        semanticReleaseBinArgs: any[];
        changelogCommit: boolean;
        npmRelease: boolean;
        extendsReleaseRules: any[];
        extendsNoteGeneratorTypes: any[];
        extendsDefaultPlugins: any[];
        perPackageConfig: {};
        autoCreatedPlugins: boolean;
        skip: boolean;
    }): Promise<BranchObject | null>;
}
