/** * Compliance-related types */ export interface ValidationContext { userId?: string; userRole?: string; action?: string; resource?: string; data?: unknown; dataType?: string; dataFields?: string[]; studentId?: string; studentAge?: number; parentalConsent?: boolean; studentConsent?: boolean; parentOfStudent?: string; disclosureTarget?: string; disclosureReason?: string; recordType?: string; recordAge?: number; auditingEnabled?: boolean; encryptionEnabled?: boolean; metadata?: Record; } export interface ComplianceViolation { rule: string; severity: 'low' | 'medium' | 'high' | 'critical'; message: string; remediation?: string; context?: { user?: string; resource?: string; action?: string; [key: string]: unknown; }; } export interface ValidationResult { valid: boolean; violations: ComplianceViolation[]; warnings?: string[]; metadata?: { validator?: string; validatorVersion?: string; rulesEvaluated?: number; evaluationTime?: number; checkedAt?: string; [key: string]: unknown; }; } export interface ComplianceValidator { validate(context: ValidationContext): Promise; generateComplianceReport?(startDate: Date, endDate: Date): Promise; } export interface ComplianceFramework { name: string; version: string; validators: ComplianceValidator[]; } export interface ComplianceConfig { frameworks: string[]; auditLog: boolean; dataRetention: number; encryption: { atRest: boolean; inTransit: boolean; algorithm: string; keyRotation: number; }; } //# sourceMappingURL=compliance.d.ts.map