import { InjectionToken } from '@angular/core'; /** * Bitwise enum for configuring log levels. */ export declare enum LOGGER_LEVEL { DEBUG = 1, ERROR = 2, INFO = 4, LOG = 8, WARN = 16 } /** * Token to inject logging levels. */ export declare const LOGGER_LEVELS: InjectionToken; /** * Token to inject tails that should removed from prefixes. */ export declare const LOGGER_TAILS: InjectionToken; /** * Token to inject the browser's console. */ export declare const LOGGER_CONSOLE: InjectionToken>; /** * Logs all levels */ export declare const LOGGER_ALL: number; /** * Defaults list of tails to remove. */ export declare const LOGGER_TAILS_DEFAULT: string[]; /** * Defines the function type for a console method. */ export declare type ConsoleMethod = (...params: any[]) => TReturn; /** * Defines a console method that does not log output. */ export declare const ConsoleNoop: ConsoleMethod; /** * Defines the methods that can be called on the console. */ export interface ConsoleMethods { /** * Defined as a function property to ensure console logs the correct file/line reference. */ debug: ConsoleMethod; /** * Defined as a function property to ensure console logs the correct file/line reference. */ error: ConsoleMethod; /** * Defined as a function property to ensure console logs the correct file/line reference. */ info: ConsoleMethod; /** * Defined as a function property to ensure console logs the correct file/line reference. */ log: ConsoleMethod; /** * Defined as a function property to ensure console logs the correct file/line reference. */ warn: ConsoleMethod; } /** * Defines configuration for the logger module. */ export interface LoggerConfig { /** * A reference to the browser's console. */ console?: ConsoleMethods; /** * False to replace logger with a noop service that disables all console output. */ enabled?: boolean; /** * Logging levels settings to 0 is not as effective as setting enabled to false. */ levels?: LOGGER_LEVEL; /** * Strings to be removed from the tail of logger prefixes. */ tails?: string[]; }