import { LogLevel } from "./log-level"; import { ILogger } from "./logger"; export default abstract class LoggerBase implements ILogger { minimumLogLevel: LogLevel; get isDebugEnabled(): boolean; get isInfoEnabled(): boolean; get isWarnEnabled(): boolean; get isErrorEnabled(): boolean; debug(message: (() => string) | string): void; debugAsync(message: () => Promise): Promise; info(message: (() => string) | string): void; infoAsync(message: () => Promise): Promise; warn(message: (() => string) | string): void; warnAsync(message: () => Promise): Promise; error(message: (() => string) | string, error?: Error): void; errorAsync(message: () => Promise, error?: Error): Promise; abstract logDebug(message: string): void; abstract logInfo(message: string): void; abstract logWarn(message: string): void; abstract logError(message: string, error?: Error): void; abstract logError(error: Error): void; private handleDebugMessage; private handleInfoMessage; private handleWarnMessage; private handleErrorMessage; }