import { LogLevel } from './LogLevel'; export declare type MessageDelegate = () => string; export interface Logger { name: string; level: LogLevel; isEnabledFor(level: LogLevel | number): boolean; log(level: LogLevel | number, text: string | MessageDelegate, ...args: any[]): void; trace(text: string | MessageDelegate, ...args: any[]): void; debug(text: string | MessageDelegate, ...args: any[]): void; info(text: string | MessageDelegate, ...args: any[]): void; warn(text: string | MessageDelegate, ...args: any[]): void; error(text: string | MessageDelegate, ...args: any[]): void; fatal(text: string | MessageDelegate, ...args: any[]): void; } export declare abstract class BaseLogger implements Logger { readonly name: string; level: LogLevel | number; constructor(name: string, level: LogLevel | number); isEnabledFor(level: LogLevel | number): boolean; abstract log(level: LogLevel | number, text: string | MessageDelegate, ...args: any[]): void; trace(textOrFn: string | MessageDelegate, ...args: any[]): void; debug(textOrFn: string | MessageDelegate, ...args: any[]): void; info(textOrFn: string | MessageDelegate, ...args: any[]): void; warn(textOrFn: string | MessageDelegate, ...args: any[]): void; error(textOrFn: string | MessageDelegate, ...args: any[]): void; fatal(textOrFn: string | MessageDelegate, ...args: any[]): void; }