import type { Stream } from 'stream'; import type { LogLevel } from 'bunyan'; export interface LogError { level: LogLevel; meta: any; msg?: string; } export interface Logger { trace(msg: string): void; trace(meta: Record, msg?: string): void; debug(msg: string): void; debug(meta: Record, msg?: string): void; info(msg: string): void; info(meta: Record, msg?: string): void; warn(msg: string): void; warn(meta: Record, msg?: string): void; error(msg: string): void; error(meta: Record, msg?: string): void; fatal(msg: string): void; fatal(meta: Record, msg?: string): void; } export interface BunyanRecord extends Record { level: number; msg: string; module?: string; } export type BunyanStream = (NodeJS.WritableStream | Stream) & { writable?: boolean; write: ( chunk: BunyanRecord, enc: BufferEncoding, cb: (err?: Error | null) => void ) => void; };