export type LogLevel = 'debug' | 'info' | 'warn' | 'error'; export interface LogEntry { level: LogLevel; message: string; timestamp: number; context?: Record; } export interface LoggerOptions { level?: LogLevel; enabled?: boolean; logRequests?: boolean; logResponses?: boolean; format?: 'text' | 'json'; output?: (entry: LogEntry) => void; } export declare class Logger { private readonly level; private readonly enabled; private readonly logRequests; private readonly logResponses; private readonly format; private readonly output; private logs; private readonly maxLogs; private readonly levelPriority; constructor(options?: LoggerOptions); debug(message: string, context?: Record): void; info(message: string, context?: Record): void; warn(message: string, context?: Record): void; error(message: string, context?: Record): void; logRequest(type: string, query: string, context?: Record): void; logResponse(type: string, query: string, success: boolean, duration: number, context?: Record): void; logPerformance(operation: string, duration: number, context?: Record): void; logCache(operation: 'hit' | 'miss' | 'set', key: string, context?: Record): void; private log; private defaultOutput; getLogs(count?: number): LogEntry[]; getLogsByLevel(level: LogLevel): LogEntry[]; getLogsInRange(startTime: number, endTime: number): LogEntry[]; clear(): void; export(): LogEntry[]; getStats(): { enabled: boolean; level: LogLevel; totalLogs: number; logsByLevel: Record; }; } //# sourceMappingURL=Logger.d.ts.map