import { PackageManager, CreateNodesContext, ProjectGraphExternalNode, CreateDependenciesContext, RawProjectGraphDependency } 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: CreateNodesContext): Record<string, ProjectGraphExternalNode>;
/**
 * Parses lock file and maps dependencies and metadata to {@link LockFileGraph}
 */
declare function getLockFileDependencies(packageManager: PackageManager, contents: string, lockFileHash: string, context: CreateDependenciesContext): 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 };
