declare let LOGGER_DEFAULT_CONFIG: { prefix: string | undefined; time: boolean; delta: boolean; dimDebugOnServer: boolean; printOriginOnServer: boolean; serverInspectOptions: {}; customFormattersOnServer: boolean; printStackLinesOnServer: number | boolean; dim: boolean; }; type Config = Partial; type ConsoleFx = (...data: any[]) => void; declare const StringFormatters: { match: (obj: any) => boolean; format: (m: any) => string; }[]; declare class LoggerTime { sinceFirst: number; sinceLast: number; time: boolean; delta: boolean; constructor(sinceFirst: number, sinceLast: number, time: boolean, delta: boolean); toString(): string; } declare class Style { constructor(style: string, string: string); } declare class Logger { static ERROR: 2; static WARN: 4; static INFO: 6; static LOG: 6; static DEBUG: 8; static VERBOSE: 10; static firstLog: number; static lastLog: number; /** * This is a clever way to log without the extra check on each log line. * Use it like this: * ``` * const { WARN, LOG, DEBUG, VERBOSE } = Logger.setup(Logger.INFO); // eslint-disable-line no-unused-vars * LOG('message', data); * DEBUG(this.collectionName, '...') * if (!VERBOSE.isDisabled) { * const verboseStuff = generateVerboseStuff(); // computationally intensive * VERBOSE('Here it is:', verboseStuff) * } * ``` * * @ param {number} level See {@link LVs} * @ param {object} config see LOGGER_DEFAULT_CONFIG * @ typedef {Function & {isDisabled: boolean, isEnabled: boolean, ...}} LogFunc * @ returns {{LOG: LogFunc, VERBOSE: LogFunc, DEBUG: LogFunc, WARN: LogFunc, ERROR: LogFunc}} */ static setup(level?: 2 | 4 | 6 | 8 | 10, config?: Config): { ERROR: (...params: any[]) => Error; WARN: ((...T: any) => void) & { isEnabled: boolean; isDisabled: boolean; group: >(...args: [...any[], T]) => ReturnType extends Promise ? Promise> : ReturnType; force: (...T: any) => void; }; LOG: ((...T: any) => void) & { isEnabled: boolean; isDisabled: boolean; group: >(...args: [...any[], T]) => ReturnType extends Promise ? Promise> : ReturnType; force: (...T: any) => void; }; DEBUG: ((...T: any) => void) & { isEnabled: boolean; isDisabled: boolean; group: >(...args: [...any[], T]) => ReturnType extends Promise ? Promise> : ReturnType; force: (...T: any) => void; }; VERBOSE: ((...T: any) => void) & { isEnabled: boolean; isDisabled: boolean; group: >(...args: [...any[], T]) => ReturnType extends Promise ? Promise> : ReturnType; force: (...T: any) => void; }; }; static wrapLog(logFunc: ConsoleFx, config: Config): (...args: (LoggerTime | Style | undefined)[]) => void; static timeStr(time: boolean, delta: boolean, returnAsString?: number): LoggerTime | string | undefined; static getOriginFromStack(stack: any): string | undefined; } declare function logriniTest(): string; type Func = () => T; export { type Config, type ConsoleFx, LOGGER_DEFAULT_CONFIG, Logger, LoggerTime, StringFormatters, Style, logriniTest };