import { AuditLogger } from './audit-logger'; import { Logger } from '../types'; export interface ExportLoggerConfig { sessionId: string; logLevel: 'ERROR' | 'WARN' | 'INFO' | 'DEBUG'; outputDirectory: string; enableFileLogging: boolean; enableConsoleLogging: boolean; enableAuditTrail: boolean; component?: string; } export interface ExportLogContext { documentId?: string; documentTitle?: string; folderName?: string; operation?: string; fileSize?: number; exportFormat?: string; processingTime?: number; error?: Error; } export declare class ExportLogger { private logger; private auditLogger?; private config; constructor(config: ExportLoggerConfig); logExportStart(totalDocuments: number, outputDirectory: string): void; logExportComplete(totalDocuments: number, successfulExports: number, failedExports: number, totalDataExported: number, duration: number): void; logExportFailure(error: Error, context?: ExportLogContext): void; logDocumentExportStart(documentId: string, documentTitle: string, folderName?: string): void; logDocumentExportSuccess(documentId: string, documentTitle: string, localPath: string, details: { fileSize?: number; exportFormat?: string; processingTime?: number; }): void; logDocumentExportFailure(documentId: string, documentTitle: string, error: Error, context?: ExportLogContext): void; logFolderProcessing(folderName: string, documentCount: number): void; logFolderCreation(folderPath: string, success: boolean, error?: Error): void; logApiCall(endpoint: string, method: string, success: boolean, details?: { statusCode?: number; responseTime?: number; error?: Error; }): void; logAuthentication(success: boolean, method: 'personal_token' | 'oauth', error?: Error): void; logDocumentDiscovery(success: boolean, details?: { documentsFound?: number; foldersFound?: number; duration?: number; error?: Error; }): void; logRateLimit(endpoint: string, retryAfter?: number): void; logConfiguration(config: Record): void; logWarning(message: string, context?: Record): void; logDebug(message: string, context?: any): void; getLogger(): Logger; getAuditLogger(): AuditLogger | undefined; getAuditFilePath(): string | undefined; private formatBytes; private formatDuration; } //# sourceMappingURL=export-logger.d.ts.map