export interface LogEntry { level: LogLevel; logger: string; date: number; title?: string; data?: any; timeDif?: number; } export type LogEntryFormater = (entry: LogEntry) => string; export declare enum LogLevel { SPAM = 1, INFO = 2, WARN = 3, ERROR = 4, NONE = 10 } export type LogCall = string | ((w: LogLevelHandler) => void); export declare function formatDate1(timeStamp: number): string; export declare const formater_simpleJson: LogEntryFormater; export declare const formater_dateTypeTitleSourceData: LogEntryFormater; export declare const formater_typeTitleSourceData_colored: LogEntryFormater; export interface LogWriter { addEntry(entry: LogEntry): void; addBatch(entries: LogEntry[]): void; } export declare class VoidLogWriter implements LogWriter { addBatch(_entries: LogEntry[]): void; addEntry(_entry: LogEntry): void; } export declare function setDefaultWriter(writer: LogWriter): void; export declare function getDefaultWriter(): LogWriter; export declare function setDefaultFormater(formater: LogEntryFormater): void; export declare function getDefaultFormater(): LogEntryFormater; export interface Logger { get fullName(): string; spam(_l?: LogCall): boolean; info(_l?: LogCall): boolean; warn(_l?: LogCall): boolean; error(_l?: LogCall): boolean; beginSpam(l: LogCall): LoggerGroupCallback; beginInfo(l: LogCall): LoggerGroupCallback; } export declare function getLogger(name: string, parent?: Logger): Logger; export type LoggerGroupCallback = (data?: any) => void; type LogLevelHandler = (title?: string, data?: any | undefined) => void; export interface LogConfig { level?: string; writer?: string; formater?: string; } export interface LogInitializer { setLogLevel(name: string, config: LogConfig): void; } export {};