import { ILogger, LoggerLevelType, ILoggerProps } from './types.js';
import '@lsk4/colors';

declare class Logger implements ILogger {
    prefix?: string;
    ns?: string;
    name?: string;
    format?: string;
    level: LoggerLevelType;
    on: RegExp[];
    off: RegExp[];
    constructor(props?: Partial<ILoggerProps> | string);
    setProps({ prefix, ns, name, level, format, on, off }: Partial<ILoggerProps>): void;
    static create(props: ILoggerProps): ILogger;
    createChild(...propsArray: ILoggerProps[]): ILogger;
    getLevelPriority(level: LoggerLevelType): number;
    canLog(level: LoggerLevelType): boolean;
    fatal(...args: any[]): void;
    error(...args: any[]): void;
    warn(...args: any[]): void;
    debug(...args: any[]): void;
    info(...args: any[]): void;
    trace(...args: any[]): void;
    log(...args: any[]): void;
    __log(level: LoggerLevelType, ...args: any[]): void;
}

export { Logger, Logger as default };
