export declare enum Level {
    DATA = 0,
    INFO = 1,
    WARN = 2,
    ERROR = 3,
    SUCCESS = 4,
    TASK_STARTED = 5,
    TASK_DONE = 6
}
export declare const LevelKey: {
    0: string;
    1: string;
    2: string;
    3: string;
    4: string;
    5: string;
    6: string;
};
export declare const LevelOrder: string[];
export declare const Log__NS__settings: {
    mutedModules: string[];
    showTimestamp: boolean;
};
export declare const Log__NS__create: (moduleName: string, ...level: Level[]) => Logger;
export declare const Log__NS__setGlobalLevel: (level: Level) => void;
export declare const Log__NS__onlyLevel: (...levels: Level[]) => void;
export declare const Log__NS__onlyModules: (...modules: (string | RegExp)[]) => void;
export declare const Log__NS__disableAllLogsPermanetly: () => void;
export declare const Log__NS__disableAllLogs: () => void;
export declare const Log__NS__enableAllLogs: () => void;
declare class Logger {
    readonly moduleName: string;
    color: string;
    allowed: Level[];
    isMuted: boolean;
    /**
     * Set how much characters in terminal/console
     * your module name should take
     */
    moduleWidth: number | undefined;
    constructor(moduleName: string, color: string, allowed: Level[], isMuted: boolean, 
    /**
     * Set how much characters in terminal/console
     * your module name should take
     */
    moduleWidth: number | undefined);
    data: (message: string, ...data: any[]) => void;
    d: (message: string, ...data: any[]) => void;
    info: (message: string, ...data: any[]) => void;
    i: (message: string, ...data: any[]) => void;
    warn: (message: string, ...data: any[]) => void;
    w: (message: string, ...data: any[]) => void;
    error: (message: string, ...data: any[]) => void;
    er: (message: string, ...data: any[]) => void;
    setLevel(l: Level): this;
    mute(): this;
    logOnlyWhen(expression: (() => boolean) | boolean): void;
    private createLevelMethod;
}
export {};
