/**
 * Display-only filter for AuditResult.
 * Pure functions — no side effects, no mutation.
 * Filters affect what is displayed; history/snapshot always store unfiltered data.
 */
import type { AuditResult, Severity } from "./types.js";
export interface AuditFilter {
    category?: string;
    severity?: Severity;
}
/** Validate and normalise a raw severity string. Returns undefined if invalid. */
export declare function parseSeverity(raw?: string): Severity | undefined;
/**
 * Filter an AuditResult for display purposes only.
 * - category: comma-separated list of category names (case-insensitive)
 * - severity: single severity level ("critical" | "warning" | "info")
 * - Both active: AND logic (intersection)
 * - overallScore is always preserved unchanged
 */
export declare function filterAuditResult(result: AuditResult, filter: AuditFilter): AuditResult;
/**
 * Build a human-readable annotation describing the active filter.
 * Returns "" when no filter is active.
 * Example: " (showing category: ssh, severity: critical)"
 */
export declare function buildFilterAnnotation(filter: AuditFilter): string;
//# sourceMappingURL=filter.d.ts.map