/**
 * Audit scoring engine.
 * Calculates per-category and overall scores with severity weighting.
 */
import type { AuditCheck, AuditCategory, Severity } from "./types.js";
/** Severity weights: critical checks matter more than info checks */
export declare const SEVERITY_WEIGHTS: Record<Severity, number>;
/**
 * Calculate score for a single category based on its checks.
 * Score = (sum of passed check weights / sum of all check weights) * 100
 *
 * @returns score (0-100) and maxScore (always 100 if checks exist, 0 if empty)
 */
export declare function calculateCategoryScore(checks: AuditCheck[]): {
    score: number;
    maxScore: number;
};
/**
 * Category weights for overall score calculation.
 * Higher weight = more impact on overall score.
 * SSH/Firewall/Auth: most security-critical (weight 3)
 * Docker/TLS: important but narrower scope (weight 2)
 * All others: default weight 1
 */
export declare const CATEGORY_WEIGHTS: Record<string, number>;
export declare const DEFAULT_CATEGORY_WEIGHT = 1;
/**
 * Calculate overall audit score from category scores.
 * Uses weighted average — critical categories (SSH, Firewall, Auth) count more.
 */
export declare function calculateOverallScore(categories: AuditCategory[]): number;
/** Pre-computed weight context for impact calculations (shared by quickwin + fix) */
export interface ImpactContext {
    totalOverallWeight: number;
    catWeightMap: Map<string, number>;
}
/** Build impact context from audit categories (compute once, reuse in quickwin + fix) */
export declare function buildImpactContext(categories: AuditCategory[]): ImpactContext;
//# sourceMappingURL=scoring.d.ts.map