import type { ShieldFinding } from '../commands/shield-templates.js'; import type { ExemptionLocal, ExemptionPattern, ExemptionShared } from './exemption-schema.js'; export declare function computePatternId(message: string): string; export declare function recordFalsePositive(local: ExemptionLocal, patternId: string, source: 'shield' | 'bot', message: string): { updatedLocal: ExemptionLocal; promoted: boolean; }; export declare function promoteToShared(shared: ExemptionShared, patternId: string, localPattern: ExemptionPattern): ExemptionShared; export declare function filterExemptedFindings(findings: ShieldFinding[], shared: ExemptionShared): { filtered: ShieldFinding[]; exempted: ShieldFinding[]; }; export declare function isExempted(patternId: string, exemptions: ExemptionShared): boolean; export declare function addManualSuppression(shared: ExemptionShared, label: string, reason: string): ExemptionShared; export interface TrackResult { local: ExemptionLocal; shared: ExemptionShared; promoted: string[]; } /** * Track false positives for a batch of findings. Returns updated local/shared * state and a list of promoted pattern messages (for logging). */ export declare function trackFalsePositives(findings: Array<{ message: string; }>, source: 'shield' | 'bot', local: ExemptionLocal, shared: ExemptionShared): TrackResult; //# sourceMappingURL=exemption-engine.d.ts.map