import { ILoggerServer } from './logger-protocol'; export declare type Log = (message: any, ...params: any[]) => void; export declare enum LogLevel { FATAL = 60, ERROR = 50, WARN = 40, INFO = 30, DEBUG = 20, TRACE = 10 } export declare type Loggable = (log: Log) => void; export interface ILogger { setLogLevel(logLevel: number): void; getLogLevel(): number; isEnabled(logLevel: number): boolean; ifEnabled(logLevel: number): void; log(logLevel: number, loggable: Loggable): Promise; log(logLevel: number, message: any, ...params: any[]): Promise; isTrace(): boolean; ifTrace(): Promise; trace(loggable: Loggable): Promise; trace(message: any, ...params: any[]): void; isDebug(): boolean; ifDebug(): void; debug(loggable: Loggable): void; debug(message: any, ...params: any[]): void; info(loggable: Loggable): void; info(message: any, ...params: any[]): void; isWarn(): boolean; ifWarn(): void; warn(loggable: Loggable): void; warn(message: any, ...params: any[]): void; isError(): boolean; ifError(): void; error(loggable: Loggable): void; error(message: any, ...params: any[]): void; isFatal(): boolean; ifFatal(): void; fatal(loggable: Loggable): void; fatal(message: any, ...params: any[]): void; } export declare class Logger implements ILogger { protected name: string; protected _logLevel: number; protected created: Promise; protected server: ILoggerServer; constructor(name: string); setLogLevel(logLevel: number): void; getLogLevel(): number; isEnabled(logLevel: number): boolean; ifEnabled(logLevel: number): Promise; log(logLevel: number, arg2: any | Loggable, ...params: any[]): Promise; protected getLog(logLevel: number): Promise; protected format(value: any): any; isTrace(): boolean; ifTrace(): Promise; trace(arg: any | Loggable, ...params: any[]): Promise; isDebug(): boolean; ifDebug(): Promise; debug(arg: any | Loggable, ...params: any[]): Promise; isInfo(): boolean; ifInfo(): Promise; info(arg: any | Loggable, ...params: any[]): Promise; isWarn(): boolean; ifWarn(): Promise; warn(arg: any | Loggable, ...params: any[]): Promise; isError(): boolean; ifError(): Promise; error(arg: any | Loggable, ...params: any[]): Promise; isFatal(): boolean; ifFatal(): Promise; fatal(arg: any | Loggable, ...params: any[]): Promise; }