export type AuditEventType = "environment_create" | "environment_update" | "environment_delete" | "secret_fetch" | "secret_rotate" | "provision_start" | "provision_complete" | "provision_failed" | "auth_success" | "auth_failure" | "access_denied"; export type AuditEvent = { id: string; type: AuditEventType; timestamp: Date; userId?: string; username?: string; tenant?: string; resource: string; action: string; success: boolean; details?: Record; ipAddress?: string; userAgent?: string; correlationId?: string; }; export type ComplianceReport = { generatedAt: Date; period: { start: Date; end: Date; }; summary: { totalEvents: number; successfulEvents: number; failedEvents: number; uniqueUsers: number; uniqueResources: number; }; violations: ComplianceViolation[]; recommendations: string[]; }; export type ComplianceViolation = { id: string; type: "security" | "compliance" | "operational"; severity: "low" | "medium" | "high" | "critical"; description: string; event: AuditEvent; remediation?: string; }; export type AuditSink = { write(event: AuditEvent): Promise; query(filter: AuditQuery): Promise; export(format: "json" | "csv" | "parquet", filter?: AuditQuery): Promise; }; export type AuditQuery = { startDate?: Date; endDate?: Date; userId?: string; eventType?: AuditEventType; resource?: string; success?: boolean; limit?: number; }; export declare class MemoryAuditSink implements AuditSink { private events; private readonly maxEvents; constructor(maxEvents?: number); write(event: AuditEvent): Promise; query(filter: AuditQuery): Promise; export(format: "json" | "csv" | "parquet", filter?: AuditQuery): Promise; } export declare class FileAuditSink implements AuditSink { private readonly filePath; constructor(filePath: string); write(event: AuditEvent): Promise; query(_filter: AuditQuery): Promise; export(_format: "json" | "csv" | "parquet", _filter?: AuditQuery): Promise; } export declare class ComplianceAuditor { private readonly auditSink; constructor(auditSink: AuditSink); generateComplianceReport(startDate: Date, endDate: Date, tenant?: string): Promise; private detectViolations; private generateRecommendations; } export declare class AuditLogger { private readonly sink; private readonly config; constructor(sink: AuditSink, config?: { includeSensitiveData?: boolean; correlationIdGenerator?: () => string; }); log(event: Omit): Promise; query(filter: AuditQuery): Promise; exportComplianceReport(startDate: Date, endDate: Date, tenant?: string): Promise; private generateId; } //# sourceMappingURL=audit.d.ts.map