import { Resolution, PackageContentInfo } from 'package-store';
import { Package } from '../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: string[];
    independent: boolean;
    optionalDependencies: Set<string>;
    depth: number;
    absolutePath: string;
    prod: boolean;
    dev: boolean;
    optional: boolean;
    id: string;
    installable: boolean;
    pkg: Package;
};
export declare type DependencyTreeNodeMap = {
    [nodeId: string]: DependencyTreeNode;
};
export default function (tree: TreeNodeMap, rootNodeIds: string[], topPkgIds: string[], topParents: {
    name: string;
    version: string;
}[], independentLeaves: boolean, nodeModules: string): DependencyTreeNodeMap;
