export declare enum LogLevelEnum { trace = 0, debug = 1, info = 2, warn = 3, error = 4 } export type LogLevel = keyof typeof LogLevelEnum; export type Sink = (logLevel: LogLevel, message: string, ...data: any[]) => void; type DefaultStringType = string & {}; export type Logger = { withExtraTags: (...extraTags: string[]) => Logger; getLogLevel: () => LogLevel; } & Record void>; export type ConfigureLoggersOptions = T extends "default" ? never : Partial<{ [K in T | "default"]: Partial<{ sink: K extends "default" ? Sink : Sink | null; level: K extends "default" ? LogLevel : LogLevel | null; }>; }>; export type LoggerSystem = { getLogger: (scope: T, options?: { tags?: string[]; }) => Logger; configureLoggers: (optionsByScope?: ConfigureLoggersOptions) => void; restoreDefaults: () => void; }; export declare const createLoggerSystem: () => LoggerSystem; export {}; //# sourceMappingURL=index.d.ts.map