/** * Browser-safe logger implementation that mimics Winston API * Works in both Node.js and browser environments with colors support */ /** * Logger configuration options */ export interface LoggerConfig { /** Log level: error, warn, info, debug, verbose, or silent */ level?: 'error' | 'warn' | 'info' | 'debug' | 'verbose' | 'silent'; /** Output format: json for structured logs, pretty for human-readable */ format?: 'json' | 'pretty'; /** Optional prefix for all log messages */ prefix?: string; /** Custom transports (for compatibility, not used in this implementation) */ transports?: unknown[]; } declare class BrowserSafeLogger { private currentLevel; private currentFormat; private prefix?; private context?; constructor(config?: LoggerConfig, context?: string); private updateConfig; /** * Check if a log level is enabled */ private isLevelEnabled; /** * Format the timestamp */ private getTimestamp; /** * Format the log message based on configuration */ private formatMessage; /** * Core logging method */ private log; error(message: string, ...meta: unknown[]): void; warn(message: string, ...meta: unknown[]): void; info(message: string, ...meta: unknown[]): void; debug(message: string, ...meta: unknown[]): void; verbose(message: string, ...meta: unknown[]): void; child(options: { context?: string; [key: string]: unknown; }): BrowserSafeLogger; get level(): string; set level(value: string); get silent(): boolean; set silent(value: boolean); configure(config: LoggerConfig): void; transports: unknown[]; } /** * Configure the global logger * @param config - Logger configuration or boolean (true = info, false = silent) */ export declare function configureLogger(config: LoggerConfig | boolean): void; /** * Get the logger instance * @param context - Optional context for the logger (e.g., provider name) * @returns Logger instance */ export declare function getLogger(context?: string): BrowserSafeLogger; /** * Reset the logger (mainly for testing) */ export declare function resetLogger(): void; /** * Utility function to check if logging is enabled at a specific level */ export declare function isLogLevelEnabled(level: LoggerConfig['level']): boolean; export type Logger = BrowserSafeLogger; export type { BrowserSafeLogger as WinstonLogger }; //# sourceMappingURL=logger.d.ts.map