/** * Risk utility functions for CIA compliance management * * Provides utilities for risk assessment, business impact calculations, * and security level mappings. */ import { getDefaultErrorRate, getDefaultPrivacyImpact, getDefaultSLAMetrics, getDefaultValidationLevel } from "../data/ciaOptionsData"; import { createDefaultBusinessImpact } from "../data/riskImpactData"; import { SecurityLevel } from "../types/cia"; import { BusinessImpactDetails } from "../types/cia-services"; import type { StatusType } from "../types/common/StatusTypes"; export { createDefaultBusinessImpact, getDefaultErrorRate, getDefaultPrivacyImpact, getDefaultSLAMetrics, getDefaultValidationLevel, }; /** * Get default business impact details */ export declare function getDefaultBusinessImpact(component: string, level: SecurityLevel): BusinessImpactDetails; /** * Get risk level string from security level * * Maps security levels to corresponding risk levels using inverse relationship: * higher security = lower risk. Essential for risk assessment and reporting. * * @param level - Security level * @returns Risk level string describing the security posture * * @example * ```typescript * getRiskLevelFromSecurityLevel('None') // "Critical Risk" * getRiskLevelFromSecurityLevel('Low') // "High Risk" * getRiskLevelFromSecurityLevel('Moderate') // "Medium Risk" * getRiskLevelFromSecurityLevel('High') // "Low Risk" * getRiskLevelFromSecurityLevel('Very High') // "Minimal Risk" * * // Usage in risk assessment * const securityLevel = getSecurityLevel(); * const riskLevel = getRiskLevelFromSecurityLevel(securityLevel); * console.log(`Current risk: ${riskLevel}`); * ``` */ export declare function getRiskLevelFromSecurityLevel(level: SecurityLevel): string; /** * Format any risk level string consistently * @param riskLevel - Risk level string * @returns Formatted risk level string */ export declare function formatRiskLevel(riskLevel: string): string; /** * Maps business impact levels to risk level strings * This mapping ensures consistent risk level terminology across the application * * @param impactLevel - Business impact level string * @returns Formatted risk level string */ export declare function getRiskLevelFromImpactLevel(impactLevel: string): string; /** * Get status badge variant for risk level * @param riskLevel Risk level string * @returns Badge variant for UI */ export declare function getStatusBadgeForRiskLevel(riskLevel: string): StatusType; /** * Get color class for security level for UI styling * @param level Security level * @returns CSS class string for styling */ export declare function getSecurityLevelColorClass(level: SecurityLevel): string; /** * Calculate risk score from security levels * @param availabilityLevel Availability security level * @param integrityLevel Integrity security level * @param confidentialityLevel Confidentiality security level * @returns Risk score (0-100) */ export declare function calculateRiskScore(availabilityLevel: SecurityLevel, integrityLevel: SecurityLevel, confidentialityLevel: SecurityLevel): number; /** * Parse risk level string for consistent comparison * @param riskLevel Risk level string * @returns Normalized lowercase risk string */ export declare function parseRiskLevel(riskLevel: string): string; export type RiskLevel = "Critical Risk" | "High Risk" | "Medium Risk" | "Low Risk" | "Minimal Risk" | "Unknown Risk"; /** * Convert security level to numerical value * @param level Security level * @returns Numerical value 0-4 */ export declare function securityLevelToValue(level: SecurityLevel): number; /** * Calculate combined risk level based on multiple risk levels * @param riskLevels Array of risk levels * @returns Combined risk level */ export declare function calculateCombinedRiskLevel(riskLevels: string[]): string; /** * Format risk level with proper capitalization * @param riskLevel Risk level string * @returns Formatted risk level */ export declare function getFormattedRiskLevel(riskLevel: string): string; /** * Get badge variant for risk level * @param riskLevel Risk level string * @returns Badge variant */ export declare function getRiskBadgeVariant(riskLevel: string): "error" | "warning" | "info" | "success" | "neutral"; /** * Get risk score from security level * @param level Security level * @returns Risk score (0-100) */ export declare function getRiskScoreFromSecurityLevel(level: SecurityLevel): number; /** * Get risk severity description * @param riskLevel Risk level string * @returns Description of risk severity */ export declare function getRiskSeverityDescription(riskLevel: string): string; /** * Calculates the overall business impact level based on security levels * * @param availabilityLevel - The availability security level * @param integrityLevel - The integrity security level * @param confidentialityLevel - The confidentiality security level * @returns The calculated impact level as a string */ export declare function calculateBusinessImpactLevel(availabilityLevel: SecurityLevel, integrityLevel: SecurityLevel, confidentialityLevel: SecurityLevel): string; /** * Determines the implementation complexity based on security levels * * @param availabilityLevel - The availability security level * @param integrityLevel - The integrity security level * @param confidentialityLevel - The confidentiality security level * @returns The implementation complexity as a string */ export declare function getImplementationComplexity(availabilityLevel: SecurityLevel, integrityLevel: SecurityLevel, confidentialityLevel: SecurityLevel): string; /** * Identifies the highest impact area from component impact details * * @param availabilityImpact - Availability impact details * @param integrityImpact - Integrity impact details * @param confidentialityImpact - Confidentiality impact details * @returns The highest impact area or areas as a string */ export declare function getHighestImpactArea(availabilityImpact: BusinessImpactDetails, integrityImpact: BusinessImpactDetails, confidentialityImpact: BusinessImpactDetails): string; /** * Generates default component impact data when service data isn't available * * @param component - The security component: 'availability', 'integrity', or 'confidentiality' * @param level - The security level of the component * @returns Default impact details for the component */ export declare function getDefaultComponentImpact(component: string, level: SecurityLevel): BusinessImpactDetails; //# sourceMappingURL=riskUtils.d.ts.map