export type LogLevel = 'log' | 'info' | 'error' | 'warn' | 'debug' | 'verbose' | 'fatal'; export type NonEmptyString = S extends '' ? never : S; export interface LogMessage { level: LogLevel; args: unknown[]; context: NonEmptyString; timestamp: string; } interface LoggingEvents { log: [LogMessage]; } export interface LoggingEventEmitter { on(event: K, listener: (...args: LoggingEvents[K]) => void): this; emit(event: K, ...args: LoggingEvents[K]): boolean; } export declare const loggingEventEmitter: LoggingEventEmitter; export declare class Logger { private context; constructor(context: NonEmptyString); private emitLog; log(...args: unknown[]): void; info(...args: unknown[]): void; warn(...args: unknown[]): void; debug(...args: unknown[]): void; verbose(...args: unknown[]): void; fatal(...args: unknown[]): void; error(...args: unknown[]): void; } export {}; //# sourceMappingURL=Logger.d.ts.map