import { type ProcessIdentity } from './process.js'; export type ProjectExecutionKind = 'run' | 'watch'; export type ProjectExecutionState = 'starting' | 'running' | 'stopping'; interface ExecutionOwner { readonly ownerId: string; readonly pid: number; readonly processIdentity: ProcessIdentity; readonly kind: ProjectExecutionKind; readonly state: ProjectExecutionState; } export interface ProjectExecutionLock { readonly owner: ExecutionOwner; updateState(state: ProjectExecutionState): void; release(): void; } export declare class ProjectExecutionAlreadyRunningError extends Error { constructor(owner: ExecutionOwner); } export declare function getProjectExecutionOwner(cwd: string): ExecutionOwner | undefined; export declare function acquireProjectExecutionLock(cwd: string, kind: ProjectExecutionKind): ProjectExecutionLock; export {}; //# sourceMappingURL=project-execution-lock.d.ts.map