/** Represents an active lock on a spec, preventing concurrent edits. */
export interface SpecLock {
    specId: string;
    lockHolder: string;
    lockedAt: string;
    expiresAt: string;
    reason?: string;
}
/** Input for acquiring a spec lock. */
export interface LockInput {
    projectPath: string;
    specId: string;
    lockHolder: string;
    /** TTL in minutes. Clamped to [1, 480]. Default: 30. */
    ttlMinutes?: number;
    reason?: string;
}
/** Input for releasing a spec lock. */
export interface UnlockInput {
    projectPath: string;
    specId: string;
    lockHolder: string;
    /** If true, removes lock even when held by a different lockHolder. */
    force?: boolean;
}
/** Input for listing all active locks in a project. */
export interface ListLocksInput {
    projectPath: string;
}
/** Input for checking whether a specific spec is locked. */
export interface CheckLockInput {
    projectPath: string;
    specId: string;
}
/** Result of a lock check. */
export interface CheckLockResult {
    locked: boolean;
    lockHolder?: string;
    expiresAt?: string;
    reason?: string;
}
//# sourceMappingURL=spec-lock.d.ts.map