export declare const colors: {
    Reset: string;
    FgBlack: string;
    FgWhite: string;
    BgBlack: string;
    BgRed: string;
    BgGreen: string;
    BgYellow: string;
};
export type err = E | string | any;
export type LogHandlers = {
    [handler in "error" | "info" | "debug"]: Function | null;
};
export type LoggerOptions = {
    log_handlers?: LogHandlers;
    verbose?: boolean;
    hard_crash?: boolean;
    prefix?: string;
    use_color?: boolean;
    log_level?: LogLevel;
};
export declare enum LogLevel {
    DEBUG = 0,
    INFO = 1,
    DONE = 2,
    WARN = 3,
    ERROR = 4
}
export declare enum ErrorOrigin {
    SERVER = 0,
    CLIENT = 1,
    FOREIGN_CLIENT = 2
}
export declare class E extends Error {
    logs: any[];
    origin?: ErrorOrigin;
    constructor(msg?: string, ...logs: any[]);
}
export declare class LogHandler {
    verbose: boolean;
    hard_crash: boolean;
    prefix: string;
    log_level: LogLevel;
    log_handlers: LogHandlers;
    static use_color: boolean;
    constructor({ verbose, hard_crash, prefix, use_color, log_level, log_handlers }?: LoggerOptions);
    BaseLog(level: number, prefix: string, color: string, msg: string, ...args: any[]): void;
    HandleError(e: E | Error | string, origin?: ErrorOrigin): void;
    HandleInfo(...args: any[]): void;
    HandleDebug(...args: any[]): void;
    static prefix(p: string, color: string): string;
    static log(...args: any[]): void;
    debug(msg: any, ...args: any[]): void;
    static debug(msg: any, ...args: any[]): void;
    info(msg: any, ...args: any[]): void;
    static info(msg: any, ...args: any[]): void;
    done(msg: string, ...args: any[]): void;
    static done(msg: string, ...args: any[]): void;
    soft_error(e: E | Error | string, ...args: any[]): void;
    static soft_error(msg: any, ...args: any[]): void;
}
export declare function log(...args: any[]): void;
export declare function info(msg: string, ...args: any[]): void;
export declare function done(msg: string, ...args: any[]): void;
export declare function soft_error(msg: string, ...args: any[]): void;
