import { Logger } from '@flxbl-io/sfp-logger';
export interface DependencyDetail {
    version: string;
    isDirect: boolean;
    contributors: string[];
}
export interface DependencyResolutionDetails {
    resolvedDependencies: Map<string, {
        package: string;
        versionNumber?: string;
    }[]>;
    details: Map<string, {
        [dependencyName: string]: DependencyDetail;
    }>;
}
export default class TransitiveDependencyResolver {
    private sfdxProjectConfig;
    private logger?;
    constructor(sfdxProjectConfig: any, logger?: Logger);
    resolveTransitiveDependencies(): Promise<Map<string, {
        package: string;
        versionNumber?: string;
    }[]>>;
    resolveTransitiveDependenciesWithDetails(): Promise<DependencyResolutionDetails>;
    private compareVersions;
    private fillDepsWithUserDefinedExternalDependencyMap;
    private generateDependencyDetails;
    private fillDepsTransitively;
    private swapAndDropArrayElement;
    private topologicalSort;
}
