export interface ILogFunction { (obj: T, msg?: string, ...args: any[]): void; (obj: unknown, msg?: string, ...args: any[]): void; (msg: string, ...args: any[]): void; } export interface ILogger { error: F; warn: F; info: F; debug: F; trace: F; getProvider?(): T; }