import { Statistics } from "../statistics/statistics.js"; type LogLevel = "info" | "warning" | "error"; export interface LogEntry { level: LogLevel; message: string; count: number; expressIDs: Set; } export interface LoggingProxy { log(entry: LogEntry): void; } /** * Logger class which supports logging statistics, as well as proxy logging interfaces * for extended logging. */ export default class Logger { private static logs; private static proxies; private static statistics; /** * Detects environment and initializes wasm callbacks */ static initializeWasmCallbacks(): void; /** * * @param message - log message * @param level - log level * @return {number} log index */ private static findLogIndex; /** * * @param level - log level * @param message - log message */ private static log; /** * Compresses similar logs to a single line */ static compressLogs(): void; /** * * @param proxy - a log proxy */ static addProxy(proxy: LoggingProxy): void; /** * * @param message - log message */ static info(message: string): void; /** * * @param modelID * @return {Statistics | undefined} */ static getStatistics(modelID: number): Statistics | undefined; /** * Create the statistics for a model ID. * * @param modelID The model ID to create statistics for * * @return {Statistics} The created statistics object. */ static createStatistics(modelID: number): Statistics; /** * * @param modelID */ static printStatistics(modelID: number): void; /** * Compresses the logs if they haven't been compressed, * then returns a list of just the errors. * * @return {LogEntry[]} The errors. */ static getErrors(): LogEntry[]; /** * * @param message - log message */ static warning(message: string): void; /** * * @param message - log message */ static error(message: string): void; /** * * @return {LogEntry[]} - list of logs */ static getLogs(): LogEntry[]; /** * display logs in a table */ static displayLogs(): void; /** * clear logs */ static clearLogs(): void; } export {}; //# sourceMappingURL=logger.d.ts.map