import { WorkspaceManager } from "../../types/WorkspaceManager"; export interface WorkspaceManagerAndRoot { /** Workspace/monorepo manager name */ manager: WorkspaceManager; /** Monorepo root, where the manager configuration file is located */ root: string; } /** * Files indicating the monorepo root for each manager. * * DO NOT REORDER! The order of keys determines the precedence of the files, which is * important for cases like lerna where lerna.json and e.g. yarn.lock may both exist. */ export declare const managerFiles: { readonly lerna: "lerna.json"; readonly rush: "rush.json"; readonly yarn: "yarn.lock"; readonly pnpm: "pnpm-workspace.yaml"; readonly npm: "package-lock.json"; }; /** * Get the preferred workspace/monorepo manager based on `process.env.PREFERRED_WORKSPACE_MANAGER` * (if valid). */ export declare function getPreferredWorkspaceManager(): WorkspaceManager | undefined; /** * Get the workspace/monorepo manager name and root directory for `cwd`, with caching. * * @param cwd Directory to search up from * @param cache Optional override cache for testing * @param managerOverride Optional override manager (if provided, only searches for this manager's file). * Also respects `process.env.PREFERRED_WORKSPACE_MANAGER`. * * @returns Workspace/monorepo manager and root, or undefined if it can't be determined */ export declare function getWorkspaceManagerAndRoot(cwd: string, cache?: Map, managerOverride?: WorkspaceManager): WorkspaceManagerAndRoot | undefined;