import type { LockFile, LockableCommand } from '../types/index.js'; import type { ScaffoldError, ScaffoldWarning } from '../types/index.js'; import type { StatePathResolver } from './state-path-resolver.js'; export declare function getLockPath(projectRoot: string, pathResolver?: StatePathResolver): string; /** Check whether a lock is stale (holder process no longer running). */ export declare function isStale(lock: LockFile): boolean; /** Read lock file if exists; return null if absent or corrupt. */ export declare function checkLock(projectRoot: string, pathResolver?: StatePathResolver): LockFile | null; /** * Attempt to acquire .scaffold/lock.json advisory lock. * Returns acquired: false with warning on contention, or error on other failure. */ export declare function acquireLock(projectRoot: string, command: LockableCommand, step?: string, pathResolver?: StatePathResolver): { acquired: boolean; warning?: ScaffoldWarning; error?: ScaffoldError; }; /** Release lock by deleting .scaffold/lock.json (only if current process holds it). */ export declare function releaseLock(projectRoot: string, pathResolver?: StatePathResolver): void; //# sourceMappingURL=lock-manager.d.ts.map