import { Connection } from '@salesforce/core';
/**
 * Resolves package dependency versions to their exact versions
 */
export default class PackageDependencyResolver {
    private conn;
    private projectConfig;
    private packagesToBeSkipped?;
    private packagesToBeResolved?;
    private resolveExternalDepenciesOnly?;
    private package2VersionCache;
    constructor(conn: Connection, projectConfig: any, packagesToBeSkipped?: string[], packagesToBeResolved?: string[], resolveExternalDepenciesOnly?: boolean);
    /**
     * Resolves package dependency versions in project config
     * Skips dependencies on packages that are queued for build, as they are resolved dynamically(packagesToBeSkipped)
     * @returns new project config JSON, does not change original JSON
     */
    resolvePackageDependencyVersions(): Promise<any>;
    /**
     * Get last validated Package2 version for package dependency
     * @param conn
     * @param dependency
     * @returns Package2Version
     */
    private getPackage2VersionForDependency;
    /**
     * Get Package2 version created from the current branch
     * @param package2Versions
     * @param dependency
     * @returns Package2Version
     */
    private getPackage2VersionFromCurrentBranch;
    private isSubscriberPackageVersionId;
}
