import { LogLevel, ILogger } from '@arashi/interfaces'; import { Readable } from 'stream'; import { ILogObject } from './ILogObject'; export declare class BaseLogger extends Readable implements ILogger { private $filters; private $logLevel; private $serviceName; private $shouldWaitForRead; private $buffer; constructor(serviceName: string, logLevel: LogLevel); setLogLevel(level: LogLevel): void; getLogLevel(): LogLevel; addFilter(reg: RegExp): void; removeFilter(reg: RegExp): void; setFilters(filters: RegExp[]): void; getFilters(): RegExp[]; protected _getDefaultLogFilters(): RegExp[]; protected _formatDate(now: Date): string; protected _shouldFilter(message: any): boolean; private $parseMessage; _read(size: number): void; protected _log(lo: ILogObject): boolean; protected _shouldLog(lo: ILogObject): boolean; log(level: LogLevel, component: string, message: any, metadata?: Record): void; logObject(lo: ILogObject): void; trace(component: string, message: any, metadata?: Record): void; silly(component: string, message: any, metadata?: Record): void; debug(component: string, message: any, metadata?: Record): void; verbose(component: string, message: any, metadata?: Record): void; info(component: string, message: any, metadata?: Record): void; warn(component: string, message: any, metadata?: Record): void; error(component: string, message: any, metadata?: Record): void; deprecate(component: string, alternative?: string, methodOverride?: string): void; deprecateParameterType(component: string, argumentLocation: number, deprecatedType: string, alternative?: string): void; private $getDeprecatedMethodMessage; private $getDeprecatedAlternativeMessage; private $getDeprecatedParameterMethodMessage; private $getDeprecatedParameterAlternativeMessage; protected _onDestroy(): void; _destroy(error: Error | null, callback: (error?: Error) => void): void; }