import { type MutationLock } from "../recovery/service.js"; import { type RepositoryContext } from "../repository/git.js"; import type { HumanScopeBinding } from "../approval/human.js"; import type { CoordinationClock } from "./clock.js"; import type { GitCoordinationStore } from "./store.js"; import type { CoordinationExpected, CoordinationRecord } from "./types.js"; export type ManagedWriteContext = { context: RepositoryContext; store: GitCoordinationStore; observeAuthority: (record: CoordinationRecord) => HumanScopeBinding; refreshClock: () => CoordinationClock; }; /** Existing lock owners call this at their actual write boundary, never a cached session admission. */ export declare function assertManagedWriteAllowedLocked(ctx: ManagedWriteContext, held: MutationLock, workItem: string, expectedControlSha: string, expected: CoordinationExpected): CoordinationRecord; /** Bounded workspace edits only; commit/rebind owners use the Locked API and validate their new exact tuple. */ export declare function runManagedWrite(ctx: ManagedWriteContext, workItem: string, expectedControlSha: string, expected: CoordinationExpected, operation: (held: MutationLock) => T | Promise): Promise; //# sourceMappingURL=writer.d.ts.map