import { InstalledPackage } from '../install/installMultiple';
import { TreeNode } from '../api/install';
import { Package } from '../types';
import { Store } from 'package-store';
import { DependencyTreeNodeMap } from './resolvePeers';
import { Shrinkwrap } from 'pnpm-shrinkwrap';
export default function (topPkgs: InstalledPackage[], rootNodeIds: string[], tree: {
    [nodeId: string]: TreeNode;
}, opts: {
    force: boolean;
    global: boolean;
    baseNodeModules: string;
    bin: string;
    topParents: {
        name: string;
        version: string;
    }[];
    wantedShrinkwrap: Shrinkwrap;
    currentShrinkwrap: Shrinkwrap;
    makePartialCurrentShrinkwrap: boolean;
    production: boolean;
    development: boolean;
    optional: boolean;
    root: string;
    storePath: string;
    storeIndex: Store;
    skipped: Set<string>;
    pkg: Package;
    independentLeaves: boolean;
    updateShrinkwrapMinorVersion: boolean;
}): Promise<{
    linkedPkgsMap: DependencyTreeNodeMap;
    wantedShrinkwrap: Shrinkwrap;
    currentShrinkwrap: Shrinkwrap;
    newPkgResolvedIds: string[];
}>;
