export declare enum LogLevel {
    TRACE = "trace",
    DEBUG = "debug",
    INFO = "info",
    WARN = "warn",
    ERROR = "error"
}
export declare type FunctionType = (level: LogLevel, name: string, msg: string, data: string | object) => void;
export declare type ConsoleLogFnType = (name: string, msg: string, data: string | object) => void;
export declare type ReportFnType = (obj: object) => void;
export declare type SetBooleanFnType = (flag: boolean) => void;
export declare type SetFunctionFnType = (fn: ReportFnType) => void;
export interface ILoggerInfoType {
    levelTagColor: string;
    levelCode: number;
}
export interface ILoggerInfo {
    trace: ILoggerInfoType;
    debug: ILoggerInfoType;
    info: ILoggerInfoType;
    warn: ILoggerInfoType;
    error: ILoggerInfoType;
}
export interface ILoggerConfig {
    disableConsole: boolean;
    disableReport: boolean;
    consoleLevel: LogLevel;
    reportLevel: LogLevel;
    reportFn: ReportFnType;
}
export interface IConsoleLogger {
    trace: ConsoleLogFnType;
    debug: ConsoleLogFnType;
    info: ConsoleLogFnType;
    warn: ConsoleLogFnType;
    error: ConsoleLogFnType;
}
