import { i_license_file, i_nodered_driver, i_otel } from "./commoninterfaces";
import { DBHelper } from './DBHelper';
import { WebSocketServerClient } from "./WebSocketServerClient";
import { Span } from "@opentelemetry/api";
export declare function promiseRetry<T>(fn: () => Promise<T>, retries: number, retryIntervalMillis: number, previousError?: Error): Promise<T>;
export declare enum level {
    Error = 1,
    Warning = 2,
    Information = 3,
    Debug = 4,
    Verbose = 5,
    Silly = 6
}
export declare class Logger {
    static otel: i_otel;
    static License: i_license_file;
    static nodereddriver: i_nodered_driver;
    static DBHelper: DBHelper;
    static log_with_trace: boolean;
    static enabled: any;
    static usecolors: boolean;
    private static _hostname;
    static parsecli(cli: WebSocketServerClient): {
        user?: undefined;
        agent?: undefined;
        version?: undefined;
        cid?: undefined;
        ip?: undefined;
    } | {
        user: string;
        agent: import("./Audit").clientType;
        version: string;
        cid: string;
        ip: string;
    };
    prefix(lvl: level, cls: string, func: string, message: string | unknown, collection: string, user: string, ms: number): string;
    json(obj: any, span: Span): void;
    error(message: string | Error | unknown, span: Span, options?: any): void;
    info(message: string, span: Span, options?: any): void;
    warn(message: string, span: Span, options?: any): void;
    debug(message: string, span: Span, options?: any): void;
    verbose(message: string, span: Span, options?: any): void;
    silly(message: string, span: Span, options?: any): void;
    static shutdown(): Promise<void>;
    static reload(): void;
    static hasDockerEnv(): boolean;
    static hasDockerCGroup(): any;
    private static _isDocker;
    static isDocker(): boolean;
    private static _isKubernetes;
    static isKubernetes(): boolean;
    static configure(skipotel: boolean, skiplic: boolean): Promise<void>;
    static instanse: Logger;
    private static _ofid;
    static ofid(): any;
    static getStackInfo(stackIndex: any): {
        method: string;
        relativePath: any;
        line: string;
        pos: string;
        file: any;
        stack: string;
    };
}
export declare enum Console {
    Reset = "\u001B[0m",
    Bright = "\u001B[1m",
    Dim = "\u001B[2m",
    Underscore = "\u001B[4m",
    Blink = "\u001B[5m",
    Reverse = "\u001B[7m",
    Hidden = "\u001B[8m",
    FgBlack = "\u001B[30m",
    FgRed = "\u001B[31m",
    FgGreen = "\u001B[32m",
    FgYellow = "\u001B[33m",
    FgBlue = "\u001B[34m",
    FgMagenta = "\u001B[35m",
    FgCyan = "\u001B[36m",
    FgWhite = "\u001B[37m",
    BgBlack = "\u001B[40m",
    BgRed = "\u001B[41m",
    BgGreen = "\u001B[42m",
    BgYellow = "\u001B[43m",
    BgBlue = "\u001B[44m",
    BgMagenta = "\u001B[45m",
    BgCyan = "\u001B[46m",
    BgWhite = "\u001B[47m"
}
