/** * Issue claim lock — one active lane/session per in-progress issue. */ import type { EngineContext } from './engine-context.js'; import type { VcsOp } from './types.js'; export interface IssueClaim { issueId: string; laneId: string; sessionId?: string; claimedAt?: string; } /** Read claim from materialized store; ignores stale claims when lane is gone. */ export declare function getIssueClaim(ctx: EngineContext, issueId: string, rootPath?: string): IssueClaim | null; export interface ClaimIssueParams { issueId: string; laneId: string; sessionId?: string; /** When true, reclaim if same lane/session. */ allowSame?: boolean; } /** * Claim an issue for a lane. Throws when another active lane/session holds it. */ export declare function claimIssue(ctx: EngineContext, params: ClaimIssueParams, rootPath?: string): Promise<{ op?: VcsOp; alreadyClaimed: boolean; }>; /** Release issue claim (pause, close, lane drop). */ export declare function releaseIssueClaim(ctx: EngineContext, issueId: string): Promise; //# sourceMappingURL=issue-claim.d.ts.map