/** * Governance primitive: append-only conductor-claims store (WP-G1b). * * A claim event signals that an instance is asserting the conductor role for * a workspace; a release event cancels it. The store is a plain JSONL file at * `/.h2a/governance/conductor-claims.jsonl`. The fold over events is * `activeConductorClaims`: an instance has an active claim iff its latest event * (by `at`) for (workspaceId, instance) is a `claim` (a `release` cancels it). * * This is additive/reversible — append-only, no deletion, no enforcement. */ export interface ConductorClaimEvent { readonly type: "claim" | "release"; readonly workspaceId: string; readonly instance: string; /** ISO 8601 timestamp of the event. */ readonly at: string; } /** * Append a conductor claim or release event to the JSONL store. * Creates the governance directory if it does not exist. */ export declare function appendConductorClaim(root: string, event: ConductorClaimEvent): void; /** * Read all conductor claim/release events from the store. * Returns an empty array if the file does not exist. Skips malformed lines. */ export declare function listConductorClaims(root: string): ConductorClaimEvent[]; /** * Fold the claim/release log to find active claimants for a workspace. * * An instance has an **active** claim for `workspaceId` iff its latest event * (by `at`) for the pair `(workspaceId, instance)` is a `claim` (a subsequent * `release` cancels it). * * Returns active claimants sorted by their claim `at` ASCENDING (earliest * claimant first — the tiebreaker for the conductor election). */ export declare function activeConductorClaims(root: string, workspaceId: string): Array<{ instance: string; at: string; }>; //# sourceMappingURL=claims.d.ts.map