export interface AuditEvent { eventId: string; timestamp: string; sessionId: string; eventType: AuditEventType; source: string; target?: string; operation: string; status: 'started' | 'completed' | 'failed'; details?: Record; error?: string; duration?: number; } export type AuditEventType = 'authentication' | 'document_discovery' | 'document_export' | 'file_write' | 'folder_creation' | 'export_session' | 'api_call' | 'file_operation'; export interface AuditLoggerConfig { sessionId: string; auditDirectory: string; enableFileOutput: boolean; enableConsoleOutput: boolean; } export declare class AuditLogger { private logger; private config; private auditFilePath; private eventCounter; constructor(config: AuditLoggerConfig); logEvent(eventType: AuditEventType, operation: string, status: 'started' | 'completed' | 'failed', details?: { source?: string; target?: string; metadata?: any; error?: Error; duration?: number; }): void; logAuthenticationEvent(service: 'quip' | 'onedrive', status: 'started' | 'completed' | 'failed', error?: Error): void; logDocumentDiscovery(status: 'started' | 'completed' | 'failed', details?: { documentsFound?: number; foldersFound?: number; error?: Error; duration?: number; }): void; logDocumentExport(documentId: string, documentTitle: string, status: 'started' | 'completed' | 'failed', details?: { format?: string; fileSize?: number; error?: Error; duration?: number; }): void; logFileWrite(documentTitle: string, localPath: string, status: 'started' | 'completed' | 'failed', details?: { fileSize?: number; error?: Error; duration?: number; }): void; logFolderCreation(folderPath: string, status: 'started' | 'completed' | 'failed', error?: Error): void; logExportSession(status: 'started' | 'completed' | 'failed', details?: { totalDocuments?: number; successfulExports?: number; failedExports?: number; totalDataExported?: number; duration?: number; error?: Error; }): void; logApiCall(service: 'quip', endpoint: string, method: string, status: 'started' | 'completed' | 'failed', details?: { statusCode?: number; responseTime?: number; error?: Error; }): void; getAuditFilePath(): string | undefined; getAuditEvents(eventType?: AuditEventType, status?: 'started' | 'completed' | 'failed'): Promise; private initializeAuditFile; private writeAuditEvent; private logToConsole; private generateEventId; } //# sourceMappingURL=audit-logger.d.ts.map