/** * Logger utility with configurable log levels */ export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent'; export interface LoggerOptions { /** Minimum log level (default: 'silent') */ level?: LogLevel; /** Prefix for all log messages */ prefix?: string; /** Include timestamps (default: true) */ timestamps?: boolean; /** Custom log handler (default: console) */ handler?: LogHandler; } export interface LogEntry { level: LogLevel; message: string; data?: unknown; timestamp: string; prefix?: string; requestId?: string; } export type LogHandler = (entry: LogEntry) => void; export declare class Logger { private level; private prefix?; private timestamps; private handler; private requestId?; constructor(options?: LoggerOptions); /** Create a child logger with additional prefix */ child(prefix: string): Logger; /** Set request ID for correlation */ setRequestId(id: string): void; /** Clear request ID */ clearRequestId(): void; /** Get current log level name */ getLevelName(): LogLevel; /** Set log level */ setLevel(level: LogLevel): void; /** Check if level is enabled */ isLevelEnabled(level: LogLevel): boolean; private log; trace(message: string, data?: unknown): void; debug(message: string, data?: unknown): void; info(message: string, data?: unknown): void; warn(message: string, data?: unknown): void; error(message: string, data?: unknown): void; } export declare function getLogger(): Logger; export declare function setGlobalLogger(logger: Logger): void; export declare function createLogger(options: LoggerOptions): Logger; //# sourceMappingURL=logger.d.ts.map