/** * The install mutex is per-machine (staleness is judged by pid + hostname), so it lives in the OS * temp dir keyed by the project root — never inside the project, where it could leak into packs * or version control. */ export declare function projectInstallLockPath(projectRoot: string): string; export interface ProjectInstallLockOptions { timeoutMs?: number; retryDelayMs?: number; staleMs?: number; } export declare function withProjectInstallLock(projectRoot: string, task: () => Promise, options?: ProjectInstallLockOptions): Promise; //# sourceMappingURL=install-lock.d.ts.map