import type { NodeModuleInfo, DependencyTree, Dependency } from "./types"; import { Lazy } from "lazy-val"; export declare abstract class NodeModulesCollector, OptionalsType> { private readonly rootDir; private nodeModules; protected dependencyPathMap: Map; protected allDependencies: Map; constructor(rootDir: string); getNodeModules(): Promise; abstract readonly installOptions: Promise<{ cmd: string; args: string[]; lockfile: string; }>; protected abstract readonly pmCommand: Lazy; protected abstract getArgs(): string[]; protected abstract parseDependenciesTree(jsonBlob: string): T; protected abstract extractProductionDependencyTree(tree: Dependency): DependencyTree; protected getDependenciesTree(): Promise; protected extractRelevantData(npmTree: T): Dependency; protected extractInternal(deps: T["dependencies"]): T["dependencies"]; protected resolvePath(filePath: string): string; private convertToDependencyGraph; private collectAllDependencies; private getTreeFromWorkspaces; private transToHoisterTree; private _getNodeModules; }