export declare enum LogLevel {
    DEBUG = 0,
    INFO = 1,
    WARN = 2,
    ERROR = 3,
    FATAL = 4,
    OFF = 5
}
export interface LoggerOptions {
    level?: LogLevel;
    prefix?: string;
    dateFormat?: boolean;
    transport?: Transport[];
}
export interface Transport {
    log(level: LogLevel, message: string): void;
}
export declare class ConsoleTransport implements Transport {
    log(level: LogLevel, message: string): void;
}
export declare class Logger {
    protected level: LogLevel;
    protected prefix: string;
    protected dateFormat: boolean;
    protected transports: Transport[];
    constructor(options?: LoggerOptions);
    setLevel(level: LogLevel): this;
    setPrefix(prefix: string): this;
    addTransport(transport: Transport): this;
    protected formatMessage(level: LogLevel, message: string): string;
    protected log(level: LogLevel, message: string | Error, ...args: any[]): void;
    isEnableDebug(): boolean;
    debug(message: string | Error, ...args: any[]): void;
    isEnableInfo(): boolean;
    info(message: string | Error, ...args: any[]): void;
    warn(message: string | Error, ...args: any[]): void;
    error(message: string | Error, ...args: any[]): void;
    fatal(message: string | Error, ...args: any[]): void;
    createChild(name: string, options?: Partial<LoggerOptions>): Logger;
}
declare const Log: Logger;
export default Log;
//# sourceMappingURL=log.d.ts.map