import { Resolution, PackageContentInfo } from 'package-store';
import { Dependencies } from '@pnpm/types';
import { TreeNodeMap } from '../api/install';
export declare type DependencyTreeNode = {
    name: string;
    version: string;
    hasBundledDependencies: boolean;
    path: string;
    modules: string;
    fetchingFiles: Promise<PackageContentInfo>;
    resolution: Resolution;
    hardlinkedLocation: string;
    children: {
        [alias: string]: string;
    };
    independent: boolean;
    optionalDependencies: Set<string>;
    depth: number;
    absolutePath: string;
    prod: boolean;
    dev: boolean;
    optional: boolean;
    id: string;
    installable: boolean;
    additionalInfo: {
        deprecated?: string;
        peerDependencies?: Dependencies;
        bundleDependencies?: string[];
        bundledDependencies?: string[];
        engines?: {
            node?: string;
            npm?: string;
        };
        cpu?: string[];
        os?: string[];
    };
};
export declare type DependencyTreeNodeMap = {
    [nodeId: string]: DependencyTreeNode;
};
export default function (tree: TreeNodeMap, rootNodeIdsByAlias: {
    [alias: string]: string;
}, topParents: {
    name: string;
    version: string;
}[], independentLeaves: boolean, nodeModules: string): {
    resolvedTree: DependencyTreeNodeMap;
    rootAbsolutePathsByAlias: {
        [alias: string]: string;
    };
};
