import { AuditLogEntry, DataHandlingConfig } from '../types/index.js'; import { Logger } from './Logger.js'; export declare class DataHandler { private readonly config; private readonly logger; private readonly audit; private readonly sessionId; private readonly userId?; private readonly ipAddress?; private readonly userAgent?; constructor(config: DataHandlingConfig, logger: Logger, identity?: { sessionId?: string; userId?: string; ipAddress?: string; userAgent?: string; }); private generateId; generateHash(input: string): string; getAuditLog(): AuditLogEntry[]; recordAuditEvent(params: { operation: string; resource: string; action: string; result: 'success' | 'failure' | 'denied'; evidence?: string; dataHash: string; extra?: Record; }): void; /** * Create an audit log entry (legacy method for compatibility) */ createAuditEntry(operation: string, resource: string, action: string, result: 'success' | 'failure' | 'denied', data?: any): AuditLogEntry; /** * Redact sensitive data from input */ redactSensitiveData(data: string): { redactedData: string; redactions: Map; }; /** * Tokenize code snippets to reduce size and scope */ tokenizeCode(code: string): { tokenizedCode: string; tokens: Map; }; /** * Process data for AI analysis with all security controls */ processForAI(data: string, context: string, operation: string): { processedData: string; auditEntry: AuditLogEntry; redactions: Map; tokens: Map; }; /** * Restore original data from tokens and redactions */ restoreData(processedData: string, redactions: Map, tokens: Map): string; /** * Get privacy statement */ getPrivacyStatement(): string; /** * Clean up old audit logs based on retention policy */ cleanupOldAuditLogs(): void; /** * Get audit log statistics */ getAuditStats(): { totalEntries: number; sessionId: string; oldestEntry?: string; newestEntry?: string; }; } //# sourceMappingURL=DataHandler.d.ts.map