import { ILogger } from "../interfaces/lib/ILogger"; import { IAlerts } from "../interfaces/lib/IAlerts"; /** * The base class for the library, mainly responsible for handling logging and alerts. */ export declare abstract class Loggable { logger: ILogger; alerts?: IAlerts; disableLogger?: boolean; name: any; /** * @param {ILogger} logger property used for delegation of routing logs * @param {IAlerts} alerts property used for delegation of sending alerts * @param {boolean} disableLogger set to true to disable logger */ protected constructor(logger?: ILogger, alerts?: IAlerts, disableLogger?: boolean); /** * Saves / sends a log message at INFO level. * @param message message to log * @param sendAlert set to true if sending alert is desired * @param position block height of current process */ info(message: string, sendAlert?: boolean, position?: number): void; /** * Saves / sends a log message at WARN level. * @param message message to log * @param sendAlert set to true if sending alert is desired * @param position block height of current process */ warn(message: string, sendAlert?: boolean, position?: number): void; /** * Saves / sends a log message at DEBUG level. * @param message message to log * @param position block height of current process */ debug(message: string, position?: number): void; /** * Saves / sends a log message at ERROR level. * @param message message to log * @param error error object, if any * @param sendAlert set to true if sending alert is desired * @param position block height of current process */ error(message: string, error?: Error, sendAlert?: boolean, position?: number): void; }