import type { Logger, LogLevel } from './logger.types.js'; /** * Universal console-based logger. * * Works in Browser, Node.js, and Edge environments. * Safe for environments without `console` (silently skips logging). * * @remarks * - Implements the Logger interface with mutable `level` property * - Uses native console methods (console.error, console.warn, etc.) * - Respects the current log level for filtering output * - Level can be changed at runtime via the `level` property * * @example * ```typescript * // Create with specific level * const debugLogger = new ConsoleLogger('debug'); * debugLogger.debug('Detailed info'); // Will be logged * ``` * * @example * ```typescript * // Default level ('info') * const logger = new ConsoleLogger(); * logger.debug('Not logged'); // debug < info * logger.info('Logged'); // info = info * ``` * * @example * ```typescript * // Change level dynamically * const logger = new ConsoleLogger('error'); * logger.info('Not logged'); // info < error * logger.level = 'info'; * logger.info('Now logged'); // info = info * ``` */ export declare class ConsoleLogger implements Logger { level: LogLevel; private readonly hasConsole; /** * Creates a new ConsoleLogger instance. * * @param level - Initial log level (default: 'info') * * @example * ```typescript * // Default level * const logger = new ConsoleLogger(); // 'info' * ``` * * @example * ```typescript * // Specific level * const debugLogger = new ConsoleLogger('debug'); * const errorLogger = new ConsoleLogger('error'); * ``` * * @example * ```typescript * // Level can be changed after creation * const logger = new ConsoleLogger('info'); * logger.level = 'debug'; // Now shows debug logs * ``` */ constructor(level?: LogLevel); error(message: string, meta?: unknown): void; warn(message: string, meta?: unknown): void; info(message: string, meta?: unknown): void; debug(message: string, meta?: unknown): void; private log; private shouldLog; } //# sourceMappingURL=console-logger.d.ts.map