/**
 * Logging levels in Wise conforms NPM logging levels
 */
export declare abstract class AbstractLog {
    private logger?;
    private name;
    private verboseOutput;
    constructor(name: string);
    init(evaluateLevels: (string | undefined)[]): void;
    setVerboseOutput(verboseOutput: boolean): void;
    getLevel(): string;
    getName(): string;
    cheapDebug(debugStringReturnerFn: () => string): void;
    isDebug(): boolean;
    cheapInfo(infoStringReturnerFn: () => string): void;
    promiseResolveDebug<T>(msgBeginning: string, result: T): T;
    promiseRejectionDebug<T>(msgBeginning: string, error: T): T;
    static level: {
        error: string;
        warn: string;
        info: string;
        http: string;
        verbose: string;
        debug: string;
        silly: string;
    };
    error(msg: string): void;
    warn(msg: string): void;
    info(msg: string): void;
    http(msg: string): void;
    verbose(msg: string): void;
    debug(msg: string): void;
    silly(msg: string): void;
    /**
     * Calls generator fn only if logging level is reached.
     */
    efficient(level: string, msgGeneratorFn: () => string): void;
    exception(level: string, error: Error): void;
    json(level: string, object: object, pretty?: boolean): void;
    private getLogger;
}
