/** * Sistema de logging configurable * Soporta mĂșltiples niveles y puede ser extendido */ import type { LogLevel } from '../config/defaults'; export interface Logger { debug(message: string, ...args: any[]): void; info(message: string, ...args: any[]): void; warn(message: string, ...args: any[]): void; error(message: string, ...args: any[]): void; setLevel?(level: LogLevel): void; } export interface LoggerOptions { level?: LogLevel; prefix?: string; timestamp?: boolean; colors?: boolean; } export declare class ConsoleLogger implements Logger { private level; private prefix; private timestamp; private colors; constructor(options?: LoggerOptions); setLevel(level: LogLevel): void; debug(message: string, ...args: any[]): void; info(message: string, ...args: any[]): void; warn(message: string, ...args: any[]): void; error(message: string, ...args: any[]): void; private log; } /** * Logger silencioso (no imprime nada) */ export declare class SilentLogger implements Logger { debug(_message: string, ..._args: any[]): void; info(_message: string, ..._args: any[]): void; warn(_message: string, ..._args: any[]): void; error(_message: string, ..._args: any[]): void; setLevel(_level: LogLevel): void; } /** * Logger que guarda logs en array (Ăștil para testing) */ export declare class MemoryLogger implements Logger { private logs; private maxLogs; constructor(maxLogs?: number); debug(message: string, ...args: any[]): void; info(message: string, ...args: any[]): void; warn(message: string, ...args: any[]): void; error(message: string, ...args: any[]): void; private addLog; getLogs(): typeof this.logs; getLogsByLevel(level: string): typeof this.logs; clear(): void; toString(): string; } /** * Factory para crear logger basado en entorno */ export declare function createLogger(options?: LoggerOptions): Logger; //# sourceMappingURL=logger.d.ts.map