import { PackageType } from '../package/SfpPackage';
/**
 * Helper functions for retrieving info from project config
 */
export default class ProjectConfig {
    /**
     * Returns 0H Id of package from project config
     * @param projectConfig
     * @param sfdxPackage
     */
    static getPackageId(projectConfig: any, sfdxPackage: string): any;
    /**
     * Returns package names, as an array of strings
     * @param projectDirectory
     */
    static getAllPackages(projectDirectory: string): string[];
    static getAllExternalPackages(projectConfig: any): {
        alias: string;
        Package2IdOrSubscriberPackageVersionId: string;
    }[];
    /**
     * Returns package names from projectConfig, as an array of strings
     * @param projectDirectory
     */
    static getAllPackagesFromProjectConfig(projectConfig: any): string[];
    static getAllPackagesAndItsDependencies(projectConfig: any): Map<string, {
        package: string;
        versionNumber?: string;
    }[]>;
    static getAllPackageDirectoriesFromDirectory(projectDirectory?: string): any[];
    static getAllPackageDirectoriesFromConfig(projectConfig: any): any[];
    /**
     * Returns package manifest as JSON object
     * @param projectDirectory
     */
    static getSFDXProjectConfig(projectDirectory: string): any;
    /**
     * Returns type of package
     * @param projectConfig
     * @param sfdxPackage
     */
    static getPackageType(projectConfig: any, sfdxPackage: string): PackageType.Unlocked | PackageType.Data | PackageType.Source | PackageType.Diff;
    /**
     * Returns package descriptor from package manifest at project directory
     * @param projectDirectory
     * @param sfdxPackage
     */
    static getSFDXPackageDescriptor(projectDirectory: string, sfdxPackage: string): any;
    /**
     * Returns package descriptor from project config JSON object
     * @param sfdxPackage
     * @param projectConfig
     */
    static getPackageDescriptorFromConfig(sfdxPackage: string, projectConfig: any): any;
    /**
     * Returns descriptor of default package
     * @param projectDirectory
     */
    static getDefaultSFDXPackageDescriptor(projectDirectory: string): any;
    /**
     * Returns pruned package manifest, containing sfdxPackage only
     * @param projectDirectory
     * @param sfdxPackage
     */
    static cleanupMPDFromProjectDirectory(projectDirectory: string, sfdxPackage: string): any;
    /**
     * Returns pruned package manifest, containing sfdxPackage only
     * @param projectConfig
     * @param sfdxPackage
     */
    static cleanupMPDFromProjectConfig(projectConfig: any, sfdxPackage: string): any;
    /**
     * Returns pruned package manifest, containing sfdxPackages only
     * @param projectConfig
     * @param sfdxPackages
     */
    static cleanupPackagesFromProjectConfig(projectConfig: any, sfdxPackages: string[]): any;
    /**
     * Returns pruned package manifest, containing sfdxPackages only
     * @param projectConfig
     * @param sfdxPackages
     */
    static cleanupPackagesFromProjectDirectory(projectDirectory: string, sfdxPackages: string[]): any;
    static updateProjectConfigWithDependencies(projectConfig: any, dependencyMap: Map<string, {
        package: string;
        versionNumber?: string;
    }[]>): Promise<any>;
}
