import { PackageManager, CreateDependenciesContext, ProjectGraphExternalNode, RawProjectGraphDependency, CreateNodesContextV2 } from '@nx/devkit';

declare const YARN_LOCK_FILE = "yarn.lock";
declare const NPM_LOCK_FILE = "package-lock.json";
declare const PNPM_LOCK_FILE = "pnpm-lock.yaml";
declare const LOCK_FILES: string[];
declare const YARN_LOCK_PATH: string;
declare const NPM_LOCK_PATH: string;
declare const PNPM_LOCK_PATH: string;
/**
 * Parses lock file and maps dependencies and metadata to {@link LockFileGraph}
 */
declare function getLockFileNodes(packageManager: PackageManager, contents: string, lockFileHash: string, context: CreateNodesContextV2): {
    nodes: Record<string, ProjectGraphExternalNode>;
    keyMap: Map<string, ProjectGraphExternalNode> | Map<string, Set<ProjectGraphExternalNode>>;
};
/**
 * Parses lock file and maps dependencies and metadata to {@link LockFileGraph}
 */
declare function getLockFileDependencies(packageManager: PackageManager, contents: string, lockFileHash: string, context: CreateDependenciesContext, keyMap: Map<string, ProjectGraphExternalNode> | Map<string, Set<ProjectGraphExternalNode>>): RawProjectGraphDependency[];
declare function lockFileExists(packageManager: PackageManager): boolean;
/**
 * Returns lock file name based on the detected package manager in the root
 * @param packageManager
 * @returns
 */
declare function getLockFileName(packageManager: PackageManager): string;

export { LOCK_FILES, NPM_LOCK_FILE, NPM_LOCK_PATH, PNPM_LOCK_FILE, PNPM_LOCK_PATH, YARN_LOCK_FILE, YARN_LOCK_PATH, getLockFileDependencies, getLockFileName, getLockFileNodes, lockFileExists };
