import { type LockfileObject } from '@pnpm/lockfile.fs'; import { type IncludedDependencies } from '@pnpm/modules-yaml'; import { type PatchGroupRecord } from '@pnpm/patching.config'; import { type SupportedArchitectures, type Registries, type AllowBuild } from '@pnpm/types'; import { type StoreController } from '@pnpm/store-controller-types'; import { type HoistingLimits } from '@pnpm/real-hoist'; import { type LockfileToDepGraphResult } from '@pnpm/deps.graph-builder'; export interface LockfileToHoistedDepGraphOptions { allowBuild?: AllowBuild; autoInstallPeers: boolean; engineStrict: boolean; force: boolean; hoistingLimits?: HoistingLimits; externalDependencies?: Set; importerIds: string[]; include: IncludedDependencies; ignoreScripts: boolean; /** * When true, skip fetching local dependencies (file: protocol pointing to directories). * This is used by `pnpm fetch` which only downloads packages from the registry * and doesn't need local packages that won't be available (e.g., in Docker builds). */ ignoreLocalPackages?: boolean; currentHoistedLocations?: Record; lockfileDir: string; modulesDir?: string; nodeVersion: string; pnpmVersion: string; registries: Registries; patchedDependencies?: PatchGroupRecord; sideEffectsCacheRead: boolean; skipped: Set; storeController: StoreController; storeDir: string; virtualStoreDir: string; supportedArchitectures?: SupportedArchitectures; } export declare function lockfileToHoistedDepGraph(lockfile: LockfileObject, currentLockfile: LockfileObject | null, opts: LockfileToHoistedDepGraphOptions): Promise;