//#region src/logger/logger.d.ts /** Logger interface and built-in implementations. */ /** Supported log levels in order of increasing severity. */ type Level = 'debug' | 'info' | 'warn' | 'error' | 'off'; /** * A logger that receives messages at different severity levels. * * The method signatures are intentionally compatible with the global * {@link Console} object so that `console` can be used as a Logger when level * filtering is not needed. */ interface Logger { /** Logs a debug-level message. */ debug(message: string, ...args: unknown[]): void; /** Logs an info-level message. */ info(message: string, ...args: unknown[]): void; /** Logs a warn-level message. */ warn(message: string, ...args: unknown[]): void; /** Logs an error-level message. */ error(message: string, ...args: unknown[]): void; } /** A logger that silently discards all messages. */ declare class NoOpLogger implements Logger { debug(): void; info(): void; warn(): void; error(): void; } /** * A decorator that adds level filtering to any {@link Logger}. * * Only messages at or above the configured minimum level are forwarded to the * underlying logger. The default underlying logger is `console`. * * @example * ```typescript * // Only warn and error go to console. * const logger = new LogLevel('warn'); * ``` */ declare class LogLevel implements Logger { private readonly threshold; private readonly logger; constructor(level: Level, logger?: Logger); debug(message: string, ...args: unknown[]): void; info(message: string, ...args: unknown[]): void; warn(message: string, ...args: unknown[]): void; error(message: string, ...args: unknown[]): void; } //#endregion export { Level, LogLevel, Logger, NoOpLogger }; //# sourceMappingURL=logger.d.ts.map