/**
 * Fix profiles module.
 * Defines 3 server profiles (web-server, database, mail-server) with
 * category sets used to filter audit checks before applying fixes.
 *
 * Category names MUST match CHECK_REGISTRY names exactly (see checks/index.ts).
 */
import type { AuditCheck } from "./types.js";
export type ProfileName = "web-server" | "database" | "mail-server";
/**
 * 27 categories common to ALL profiles.
 * Excludes: WAF & Reverse Proxy, HTTP Security Headers, TLS Hardening, Backup Hygiene.
 */
export declare const COMMON_CATEGORIES: readonly string[];
/** Profile-specific categories added on top of COMMON_CATEGORIES */
export declare const PROFILES: Record<ProfileName, readonly string[]>;
export type CustomProfile = {
    checks: string[];
};
export type CustomProfiles = Record<string, CustomProfile>;
/** Clear the custom profiles cache (for testing) */
export declare function clearCustomProfilesCache(): void;
export declare function loadCustomProfiles(): CustomProfiles;
/** Returns true if name is a valid built-in or custom profile */
export declare function isValidProfile(name: string): boolean;
/** Lists all available profile names (built-in + custom) */
export declare function listAllProfileNames(): string[];
/**
 * Filters checks by profile. Built-in profiles filter by category,
 * custom profiles filter by check ID membership.
 */
export declare function filterChecksByProfile<T extends Pick<AuditCheck, "id" | "category">>(checks: T[], profile: ProfileName | string): T[];
//# sourceMappingURL=profiles.d.ts.map