import { TreeNode } from '../api/install'; import { PackageJson } from '@pnpm/types'; import { StoreController } from 'package-store'; import { DependencyTreeNodeMap } from './resolvePeers'; import { Shrinkwrap } from 'pnpm-shrinkwrap'; export default function linkPackages(rootNodeIdsByAlias: { [alias: string]: string; }, tree: { [nodeId: string]: TreeNode; }, opts: { force: boolean; dryRun: 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; storeController: StoreController; skipped: Set; pkg: PackageJson; independentLeaves: boolean; updateShrinkwrapMinorVersion: boolean; outdatedPkgs: { [pkgId: string]: string; }; sideEffectsCache: boolean; }): Promise<{ linkedPkgsMap: DependencyTreeNodeMap; wantedShrinkwrap: Shrinkwrap; currentShrinkwrap: Shrinkwrap; newPkgResolvedIds: string[]; removedPkgIds: Set; }>;