import { Logger as PinoLogger } from 'pino'; /** * Log levels supported by Bellwether. */ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent'; /** * Logger configuration options. */ export interface LoggerConfig { /** Log level (default: 'info') */ level?: LogLevel; /** Output file path (default: stderr) */ file?: string; /** Enable pretty printing for development */ pretty?: boolean; /** Include timestamps in output */ timestamp?: boolean; /** Component name for context */ name?: string; } /** * Create a new logger instance. */ export declare function createLogger(config?: LoggerConfig): PinoLogger; /** * Get or create the global logger instance. */ export declare function getLogger(name?: string): PinoLogger; /** * Configure the global logger. */ export declare function configureLogger(config: LoggerConfig): void; /** * Reset the global logger (for testing). */ export declare function resetLogger(): void; /** * Temporarily suppress all logging (set level to 'silent'). * Call restoreLogLevel() to restore the previous level. */ export declare function suppressLogs(): void; /** * Restore the log level after suppression. */ export declare function restoreLogLevel(): void; /** * Create a child logger with additional context. */ export declare function childLogger(parent: PinoLogger, context: Record): PinoLogger; /** * Timing helper for performance measurement. */ export interface TimingResult { durationMs: number; log: () => void; } /** * Start a timing measurement. */ export declare function startTiming(logger: PinoLogger, operation: string): () => TimingResult; /** * Log levels as numeric values for comparison. */ export declare const LOG_LEVEL_VALUES: Record; /** * Check if a log level is enabled. */ export declare function isLevelEnabled(currentLevel: LogLevel, checkLevel: LogLevel): boolean; export type { PinoLogger as Logger }; //# sourceMappingURL=logger.d.ts.map