export declare type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'mute'; export declare const LOG_LEVELS: LogLevel[]; export declare abstract class Logger { abstract info(message: string, object?: any): void; abstract warn(message: string, object?: any): void; abstract error(message: string, object?: any): void; abstract debug(message: string, object?: any): void; abstract child(context: any): Logger; } export declare abstract class LoggerBase extends Logger { contextData: object; level: LogLevel; protected abstract write(level: LogLevel, message: string, details: object): void; log(level: LogLevel, message: string, details: object): void; info(message: string, details?: object): void; warn(message: string, details?: object): void; error(message: string, details?: object): void; debug(message: string, details?: object): void; } export declare class ConsoleLogger extends LoggerBase { constructor(); protected write(level: LogLevel, message: string, details: object): void; child(data: object): ConsoleLogger; } //# sourceMappingURL=logger.d.ts.map