import { Logger } from "../types"; import { SimpleLoggerAdapter, ConsoleLogger, NoopLogger, ColorfulConsoleLogger } from "./LoggerAdapter"; /** * Simple logger factory for creating and managing logger instances */ export declare class LoggerFactory { private static instance; private defaultLogger; private pluginLoggers; private constructor(); /** * Get the singleton instance of the logger factory */ static getInstance(): LoggerFactory; /** * Set the default logger (can be any custom logger) */ setDefaultLogger(logger: Logger): void; /** * Get the default logger */ getDefaultLogger(): Logger; /** * Create a logger for a specific plugin with context */ createLogger(pluginName: string): Logger; /** * Get a logger for a specific plugin */ getLogger(pluginName: string): Logger; /** * Set a custom logger for a specific plugin */ setPluginLogger(pluginName: string, logger: Logger): void; /** * Remove a plugin logger */ removeLogger(pluginName: string): void; /** * Clear all plugin loggers */ clearPluginLoggers(): void; /** * Create a console logger */ createConsoleLogger(options?: { useColors?: boolean; timestampFormat?: 'none' | 'iso' | 'time'; }): ConsoleLogger; /** * Create a colorful console logger with enhanced formatting */ createColorfulConsoleLogger(options?: { useColors?: boolean; timestampFormat?: 'none' | 'iso' | 'time'; levelColors?: Record; contextColor?: string; showEmoji?: boolean; }): ColorfulConsoleLogger; /** * Create a no-op logger */ createNoopLogger(): NoopLogger; /** * Wrap any custom logger with our adapter */ wrapLogger(logger: Logger, context?: string): SimpleLoggerAdapter; } /** * Global logger instance for convenience */ export declare const logger: LoggerFactory; //# sourceMappingURL=LoggerFactory.d.ts.map