/** * Compliance Reporter — Generates SOC2 and GDPR compliance reports * * Produces structured JSON reports from audit event data to support * compliance auditing and regulatory requirements. * * @version 3.3.0 * @Sprint Sprint 9: Audit Logging & Compliance */ import type { AuditLogger } from './AuditLogger'; /** * Date range for compliance report queries. */ export interface DateRange { start: Date; end: Date; } /** * A single section within a compliance report. */ export interface ReportSection { title: string; description: string; items: ReportItem[]; count: number; } /** * A single item (row) within a report section. */ export interface ReportItem { timestamp: string; actor: string; actorType: string; action: string; resource: string; resourceId?: string; outcome: string; details: Record; } /** * Summary statistics for a compliance report. */ export interface ReportSummary { totalEvents: number; successCount: number; failureCount: number; deniedCount: number; uniqueActors: number; uniqueResources: number; dateRange: { start: string; end: string; }; } /** * Full compliance report structure. */ export interface ComplianceReport { type: 'SOC2' | 'GDPR'; generatedAt: string; tenantId: string; summary: ReportSummary; sections: ReportSection[]; } /** * Generates structured compliance reports (SOC2, GDPR) from audit logs. */ export declare class ComplianceReporter { private logger; constructor(logger: AuditLogger); /** * Generate a SOC2 compliance report for a tenant over a date range. * * Includes sections for: * - Access Events: login, logout, authentication, authorization * - Configuration Changes: settings modifications, deployments * - Security Events: denials, blocks, revocations, alerts */ generateSOC2Report(tenantId: string, dateRange: DateRange): ComplianceReport; /** * Generate a GDPR compliance report for a tenant over a date range. * * Includes sections for: * - Data Access Log: records of personal data access * - Consent Records: consent grants, withdrawals, and updates * - Deletion Requests: right-to-erasure and data deletion events */ generateGDPRReport(tenantId: string, dateRange: DateRange): ComplianceReport; } //# sourceMappingURL=ComplianceReporter.d.ts.map