import { LogLevel } from "./log-level"; export interface ILogger { readonly isDebugEnabled: boolean; readonly isInfoEnabled: boolean; readonly isWarnEnabled: boolean; readonly isErrorEnabled: boolean; minimumLogLevel: LogLevel; 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; }