import { Color } from '@lskjs/colors'; type LoggerLevelType = 'fatal' | 'error' | 'warn' | 'debug' | 'info' | 'trace' | 'log'; interface ILoggerProps { prefix?: string; ns?: string; name?: string; level?: LoggerLevelType; format?: string; on?: Array; off?: Array; } interface ILoggerMessage { code?: any; name?: string | null; ns?: string | null; level?: string | number; time?: string | number | Date; msg?: string | null; data?: any; } interface ILogger extends ILoggerProps { trace(...args: any[]): void; info(...args: any[]): void; debug(...args: any[]): void; warn(...args: any[]): void; error(...args: any[]): void; fatal(...args: any[]): void; log(...args: any[]): void; } type ILoggerMeta = { ns?: string; name?: string; level?: LoggerLevelType; time?: Date; method?: string; host?: string; reqId?: string | number; ua?: string; ip?: string; url?: string; status?: string; duration?: number; length?: number; }; declare enum ILoggerInternalMessageFormat { bunyan = "bunyan", lsklog = "lsklog", lsklogweb = "lsklogweb", logrus = "logrus", raw = "raw" } type ILoggerInternalMessage = { format: ILoggerInternalMessageFormat | null; meta: ILoggerMeta; args: any[]; }; type ThemeKey = LoggerLevelType; type Theme = Record; export { ILogger, ILoggerInternalMessage, ILoggerInternalMessageFormat, ILoggerMessage, ILoggerMeta, ILoggerProps, LoggerLevelType, Theme, ThemeKey };