type StructuredArgs = (Record | undefined)[]; export interface StructuredLogger { log: (message: string, ...args: StructuredArgs) => any; error: (message: string, ...args: StructuredArgs) => any; warn: (message: string, ...args: StructuredArgs) => any; info: (message: string, ...args: StructuredArgs) => any; debug: (message: string, ...args: StructuredArgs) => any; child: (fields: Record) => StructuredLogger; } export declare enum LogLevel { log = 0, error = 1, warn = 2, info = 3, debug = 4, verbose = 5 } export declare class SimpleStructuredLogger implements StructuredLogger { #private; private name; private level; private fields?; static onLog?: (structuredLog: Record) => void; private prettyPrint; constructor(name: string, level?: LogLevel, fields?: Record | undefined); child(fields: Record, level?: LogLevel): SimpleStructuredLogger; log(message: string, ...args: StructuredArgs): void; error(message: string, ...args: StructuredArgs): void; warn(message: string, ...args: StructuredArgs): void; info(message: string, ...args: StructuredArgs): void; debug(message: string, ...args: StructuredArgs): void; verbose(message: string, ...args: StructuredArgs): void; addFields(fields: Record): void; } export {};