export default interface Logger { trace(message: string, ...args: any[]): void; debug(message: string, ...args: any[]): void; info(message: string, ...args: any[]): void; warn(message: string, ...args: any[]): void; error(message: string, ...args: any[]): void; fatal(message: string, ...args: any[]): void; // This guarantees all the logs are flushed before actually exiting the program shutdown?: () => Promise; }