export declare enum LogLevel { ERROR = 0, WARN = 1, INFO = 2, DEBUG = 3, TRACE = 4 } export interface LogEntry { timestamp: string; level: LogLevel; message: string; context?: Record; error?: { message: string; stack?: string; code?: string; }; duration?: number; metadata?: Record; } export declare class Logger { private logLevel; private logToFile; private logFilePath; private startTimes; constructor(logLevel?: LogLevel, logToFile?: boolean, logDir?: string); setLogLevel(level: LogLevel): void; getLogLevel(): LogLevel; setLogToFile(enabled: boolean, logDir?: string): void; private shouldLog; private formatMessage; private writeToFile; error(message: string, context?: Record, error?: Error): void; warn(message: string, context?: Record): void; info(message: string, context?: Record): void; debug(message: string, context?: Record): void; trace(message: string, context?: Record): void; startTimer(operation: string): void; endTimer(operation: string, context?: Record): void; logRequest(method: string, url: string, headers?: Record, data?: any): void; logResponse(method: string, url: string, status: number, headers?: Record, dataSize?: number): void; logRetry(operation: string, attempt: number, maxAttempts: number, error: Error): void; logFileOperation(operation: 'read' | 'write' | 'create' | 'delete', filePath: string, success: boolean, error?: Error): void; private sanitizeHeaders; logProgress(operation: string, current: number, total: number, context?: Record): void; logBatchStart(operation: string, batchSize: number, totalItems: number): void; logBatchComplete(operation: string, batchIndex: number, totalBatches: number, successCount: number, failureCount: number): void; logPerformance(operation: string, metrics: Record, context?: Record): void; getLogFilePath(): string | null; cleanupOldLogs(keepDays?: number): void; } export declare const logger: Logger; export declare const log: { error: (message: string, context?: Record, error?: Error) => void; warn: (message: string, context?: Record) => void; info: (message: string, context?: Record) => void; debug: (message: string, context?: Record) => void; trace: (message: string, context?: Record) => void; startTimer: (operation: string) => void; endTimer: (operation: string, context?: Record) => void; logRequest: (method: string, url: string, headers?: Record, data?: any) => void; logResponse: (method: string, url: string, status: number, headers?: Record, dataSize?: number) => void; logRetry: (operation: string, attempt: number, maxAttempts: number, error: Error) => void; logFileOperation: (operation: "read" | "write" | "create" | "delete", filePath: string, success: boolean, error?: Error) => void; logProgress: (operation: string, current: number, total: number, context?: Record) => void; logBatchStart: (operation: string, batchSize: number, totalItems: number) => void; logBatchComplete: (operation: string, batchIndex: number, totalBatches: number, successCount: number, failureCount: number) => void; logPerformance: (operation: string, metrics: Record, context?: Record) => void; }; //# sourceMappingURL=index.d.ts.map