/** * Pruning Mask — builds a set of principle IDs to exclude from prompt injection. * * Consumes PruningReviewRecord[] (from listPruningReviews) and applies LWW * (Last Write Wins) semantics: for each principleId, only the latest decision * matters. archive-candidate → masked, keep/defer → not masked. * * Pure function, zero I/O, zero side effects. */ import type { PruningReviewRecord } from './pruning-review-log.js'; export declare function buildMaskedPrincipleSet(reviews: PruningReviewRecord[]): Set; /** * Returns a cached mask of principle IDs to exclude from injection. * Reads the review log from disk only once per TTL window (default 60s). * * @param workspaceDir - Workspace root directory * @param ttlMs - Time-to-live in milliseconds (default 60_000) * @returns Set of principle IDs with latest decision = archive-candidate * @throws Propagates I/O errors from listPruningReviews so callers can degrade safely */ export declare function getCachedMaskedPrincipleSet(workspaceDir: string, ttlMs?: number): Set; /** * Clears the pruning mask cache. * Primarily useful for tests that need deterministic I/O timing. */ export declare function clearPruningMaskCache(): void; //# sourceMappingURL=pruning-mask.d.ts.map