/** * Security Score Calculator * * Calculates a 0-100 security score based on findings severity. * Uses a penalty-based diminishing returns formula to prevent negative scores. */ export interface FindingCounts { critical: number; high: number; medium: number; low: number; } export interface SecurityScore { score: number; grade: string; gradeColor: string; breakdown: { critical: { count: number; penalty: number; }; high: { count: number; penalty: number; }; medium: { count: number; penalty: number; }; low: { count: number; penalty: number; }; totalPenalty: number; }; } export interface ScoreHistoryEntry { id: number; target: string; auditId: string; score: number; grade: string; critical: number; high: number; medium: number; low: number; timestamp: string; } export interface ScoreTrend { currentScore: number; previousScore: number | null; change: number; direction: 'up' | 'down' | 'same'; history: Array<{ timestamp: string; score: number; }>; } /** * Calculate security score from finding counts */ export declare function calculateSecurityScore(counts: FindingCounts): SecurityScore; /** * Calculate trend from score history */ export declare function calculateTrend(history: ScoreHistoryEntry[]): ScoreTrend; /** * Generate SVG badge for security score */ export declare function generateScoreBadge(score: number, grade: string, gradeColor: string): string;