/** * Durable blockage registry (DEC-092, EVO-3). Parallel to the drumbeat * registry: a peer's blockage must outlive the ~15s presence sweep so other * agents can see it and help. Stored at `/.h2a/blockage/.json`. * The `NotificationDispatcher` diffs this directory to push `peer.blocked` / * `peer.unblocked` to subscribed peers (DEC-052). */ import type { H2ABlockage } from "@sentropic/h2a"; export interface RaiseBlockageInput { readonly instance: string; readonly scope: string; readonly reason: string; readonly needs?: string; } /** * Raise (upsert) a blockage. A fresh raise clears any prior resolution — the * agent is blocked again, on possibly a new reason. */ export declare function raiseBlockage(root: string, input: RaiseBlockageInput, now?: number): H2ABlockage; export declare function readBlockage(root: string, instance: string): H2ABlockage | undefined; export declare function listBlockages(root: string): H2ABlockage[]; /** * Resolve a blockage (idempotent). Returns the resolved blockage, or undefined * if the instance has none recorded. Re-resolving keeps the first resolution. */ export declare function resolveBlockage(root: string, instance: string, options?: { by?: string; now?: number; }): H2ABlockage | undefined; //# sourceMappingURL=registry.d.ts.map