1import type { NodePackageManager } from '../NodePackageManagers';
2export declare const NPM_LOCK_FILE = "package-lock.json";
3export declare const YARN_LOCK_FILE = "yarn.lock";
4export declare const PNPM_LOCK_FILE = "pnpm-lock.yaml";
5export declare const PNPM_WORKSPACE_FILE = "pnpm-workspace.yaml";
6export declare const managerResolutionOrder: NodePackageManager[];
7/** Wraps `findYarnOrNpmWorkspaceRoot` and guards against having an empty `package.json` file in an upper directory. */
8export declare function findYarnOrNpmWorkspaceRootSafe(projectRoot: string): string | null;
9/**
10 * Resolve the workspace root for a project, if its part of a monorepo.
11 * Optionally, provide a specific packager to only resolve that one specifically.
12 *
13 * By default, this tries to resolve the workspaces in order of:
14 *  - npm
15 *  - yarn
16 *  - pnpm
17 */
18export declare function findWorkspaceRoot(projectRoot: string, packageManager?: NodePackageManager): string | null;
19/**
20 * Resolve the used node package manager for a project by checking the lockfile.
21 * This also tries to resolve the workspace root, if its part of a monorepo.
22 * Optionally, provide a specific packager to only resolve that one specifically.
23 *
24 * By default, this tries to resolve the workspaces in order of:
25 *  - npm
26 *  - yarn
27 *  - pnpm
28 */
29export declare function resolvePackageManager(projectRoot: string, packageManager?: NodePackageManager): NodePackageManager | null;
30/**
31 * Returns true if the project is using yarn, false if the project is using another package manager.
32 */
33export declare function isUsingYarn(projectRoot: string): boolean;
34/**
35 * Returns true if the project is using npm, false if the project is using another package manager.
36 */
37export declare function isUsingNpm(projectRoot: string): boolean;
38