/** * Logger utility for the Bota SDK */ import type { LogLevel } from '../models/Status'; export type SdkLogLevel = Exclude; export interface SdkLogEntry { level: SdkLogLevel; message: string; context?: Record; timestamp: Date; } export type LogHandler = (entry: SdkLogEntry) => void; /** * Logger class with configurable log levels */ declare class Logger { private level; private prefix; private handler; /** * Set the log level */ setLevel(level: LogLevel): void; /** * Get the current log level */ getLevel(): LogLevel; /** * Set an external log handler that receives all log entries passing the level filter */ setHandler(handler: LogHandler | null): void; /** * Check if a log level should be output */ private shouldLog; /** * Format a log message with optional context */ private format; /** * Emit a log entry to the external handler */ private emit; /** * Log a debug message */ debug(message: string, context?: Record): void; /** * Log an info message */ info(message: string, context?: Record): void; /** * Log a warning message */ warn(message: string, context?: Record): void; /** * Log an error message */ error(message: string, error?: Error, context?: Record): void; /** * Create a child logger with a specific tag */ tag(tag: string): TaggedLogger; } /** * Tagged logger for component-specific logging */ declare class TaggedLogger { private parent; private tag; constructor(parent: Logger, tag: string); debug(message: string, context?: Record): void; info(message: string, context?: Record): void; warn(message: string, context?: Record): void; error(message: string, error?: Error, context?: Record): void; } /** * Singleton logger instance */ export declare const logger: Logger; /** * Export types for external use */ export type { TaggedLogger }; //# sourceMappingURL=logger.d.ts.map