import { LogLevel, LoggerInterface, LoggingBackend } from "../interfaces/logger.d.ts"; /** * Implementation of Logger interface. * Each instance is bound to a specific category and backend. */ export declare class SAGELogger implements LoggerInterface { private category; private backend; private minLevel; constructor(category: string, minLevel?: LogLevel, backend?: LoggingBackend); /** * Update the logger's backend and minimum level */ updateSettings(backend: LoggingBackend, minLevel: LogLevel): void; trace(message: string, ...args: unknown[]): void; debug(message: string, ...args: unknown[]): void; info(message: string, ...args: unknown[]): void; warn(message: string, ...args: unknown[]): void; error(message: string, ...args: unknown[]): void; time(label: string): void; timeEnd(label: string): void; /** * Determine if a message at the given level should be logged based on the current minimum level. */ private shouldLog; } /** * A utility for creating loggers and managing logging configuration. */ export declare class LoggingUtility { private backend; private level; private loggers; /** * Create a new LoggingUtility. * * @param level - The minimum logging level (defaults to INFO) * @param backend - The logging backend to use (defaults to ConsoleBackend) */ constructor(level?: LogLevel, backend?: LoggingBackend); /** * Set the logging backend. Updates all existing loggers to use the new backend. * * @param backend */ setBackend(backend: LoggingBackend): void; /** * Set the minimum logging level. Updates all existing loggers. * * @param level */ setLevel(level: LogLevel): void; /** * Get the current minimum logging level. */ getLevel(): LogLevel; /** * Get or create a logger for the specified category. Returns an existing logger if one was already created. * * @param category - Typically the class or module name */ getLogger(category: string): LoggerInterface; } export { ConsoleBackend } from "../classes/loggers/consoleBackend.d.ts"; export { NullBackend } from "../classes/loggers/nullBackend.d.ts";