import { IBetterLogger, ILogger } from "@codiac.io/codiac-common";
import { LogLevel } from "@codiac.io/codiac-common/IBetterLogger";
import { interfaces } from "inversify";
import * as log4js from "log4js";
export declare class Log4jsLogger implements IBetterLogger, ILogger {
    private settings;
    constructor(settings: log4js.Configuration);
    static readonly SETTINGS_IOC_KEY: unique symbol;
    /** Applied when no settings doc was provided to the bootstrap() method.  */
    static readonly DEFAULT_CONFIGURATION: {
        appenders: {};
        categories: {};
    };
    static bootstrap(ioc: interfaces.Container, settings?: log4js.Configuration): void;
    showing: LogLevel[];
    private logger;
    static mapToLog4jsLevel(level: LogLevel | undefined): log4js.Level;
    write(message: string, level?: LogLevel | undefined, data?: any): void;
    trace(message: string, data?: any): void;
    debug(message: string, data?: any): void;
    detail(message: string, data?: any): void;
    notice(message: string, data?: any): void;
    warn(message: string, data?: any): void;
    error(message: string, data?: any): void;
    fatal(message: string, data?: any): void;
}
