/** * Compliance Validation Service * * Comprehensive service for validating documents against compliance considerations * and enterprise governance policies to ensure regulatory requirements are met. */ import { ProjectData, ComplianceStatus, DeviationSeverity, RiskLevel, Impact, Priority, ComplianceIssue, ComplianceRecommendation } from '../types/standardsCompliance.js'; export interface DocumentComplianceValidation { documentId: string; documentType: string; content: string; complianceScore: number; complianceStatus: ComplianceStatus; validationDate: Date; issues: ComplianceIssue[]; recommendations: ComplianceRecommendation[]; governancePolicyCompliance: GovernancePolicyValidation; regulatoryCompliance: RegulatoryComplianceValidation; enterpriseStandardsCompliance: EnterpriseStandardsValidation; } export interface GovernancePolicyValidation { overallCompliance: boolean; policyChecks: PolicyCheck[]; missingPolicies: string[]; policyViolations: PolicyViolation[]; } export interface PolicyCheck { policyId: string; policyName: string; compliant: boolean; severity: DeviationSeverity; description: string; evidence: string[]; } export interface PolicyViolation { violationId: string; policyId: string; severity: DeviationSeverity; description: string; impact: Impact; remediation: string; } export interface RegulatoryComplianceValidation { overallCompliance: boolean; applicableRegulations: ApplicableRegulation[]; complianceGaps: ComplianceGap[]; riskAssessment: RegulatoryRiskAssessment; } export interface ApplicableRegulation { regulationId: string; name: string; jurisdiction: string; compliant: boolean; requirements: RegulationRequirement[]; } export interface RegulationRequirement { requirementId: string; description: string; compliant: boolean; evidence: string[]; gaps: string[]; } export interface ComplianceGap { gapId: string; regulationId: string; description: string; severity: DeviationSeverity; impact: Impact; remediation: string; timeline: string; } export interface RegulatoryRiskAssessment { overallRisk: RiskLevel; riskFactors: RiskFactor[]; mitigationStrategies: MitigationStrategy[]; } export interface RiskFactor { factorId: string; description: string; probability: number; impact: Impact; riskLevel: RiskLevel; } export interface MitigationStrategy { strategyId: string; description: string; effectiveness: number; implementationCost: number; timeline: string; } export interface EnterpriseStandardsValidation { overallCompliance: boolean; standardsChecks: StandardCheck[]; deviations: StandardDeviation[]; improvementAreas: ImprovementArea[]; } export interface StandardCheck { standardId: string; standardName: string; category: string; compliant: boolean; score: number; requirements: StandardRequirement[]; } export interface StandardRequirement { requirementId: string; description: string; compliant: boolean; evidence: string[]; } export interface StandardDeviation { deviationId: string; standardId: string; description: string; severity: DeviationSeverity; justification: string; approved: boolean; } export interface ImprovementArea { areaId: string; description: string; priority: Priority; recommendations: string[]; estimatedEffort: string; } export interface ComplianceValidationConfig { enabledStandards: string[]; governancePolicies: GovernancePolicy[]; regulatoryFrameworks: RegulatoryFramework[]; enterpriseStandards: EnterpriseStandard[]; validationRules: ValidationRule[]; riskThresholds: RiskThreshold[]; } export interface GovernancePolicy { policyId: string; name: string; category: string; mandatory: boolean; requirements: string[]; validationCriteria: string[]; } export interface RegulatoryFramework { frameworkId: string; name: string; jurisdiction: string; applicableIndustries: string[]; requirements: RegulationRequirement[]; } export interface EnterpriseStandard { standardId: string; name: string; category: string; version: string; requirements: StandardRequirement[]; } export interface ValidationRule { ruleId: string; name: string; category: string; severity: DeviationSeverity; condition: string; action: string; } export interface RiskThreshold { category: string; low: number; medium: number; high: number; critical: number; } /** * Comprehensive Compliance Validation Service */ export declare class ComplianceValidationService { private standardsEngine; private pmbokValidator; private iso15408Validator; private config; constructor(config: ComplianceValidationConfig); /** * Validate document compliance against all configured standards and policies */ validateDocumentCompliance(documentId: string, documentType: string, content: string, projectData?: ProjectData): Promise; /** * Validate governance policies compliance */ private validateGovernancePolicies; /** * Validate regulatory compliance */ private validateRegulatoryCompliance; /** * Validate enterprise standards compliance */ private validateEnterpriseStandards; /** * Calculate overall compliance score */ private calculateOverallComplianceScore; /** * Determine compliance status based on score */ private determineComplianceStatus; /** * Generate compliance findings (issues and recommendations) */ private generateComplianceFindings; private isPolicyApplicable; private validatePolicy; private getApplicableRegulatoryFrameworks; private validateRegulation; private assessRegulatoryRisk; private isStandardApplicable; private validateEnterpriseStandard; private contentContainsRequirement; /** * Get default compliance validation configuration */ static getDefaultConfig(): ComplianceValidationConfig; } //# sourceMappingURL=ComplianceValidationService.d.ts.map