/** Represents the available logging levels. */ export declare enum LogLevel { error = 0, warn = 1, info = 2, debug = 3 } /** Structure of the data passed to listener callbacks. */ export interface LogEntry { level: LogLevel; message: string; } /** Type signature for listener callback functions. */ export type LogCallback = (entry: LogEntry) => void; /** * A singleton logger class for Zenid applications. */ declare class ZenidLogger { private listeners; private stringify; /** * Logs a message at the specified level. * Internal method called by public level-specific methods. * @param level The severity level of the log message. * @param message The message or data to log. If not a string, it will be JSON.stringified. * @param data Optional additional data to log. */ log(level: LogLevel, message: unknown, data?: unknown): void; /** Logs an error message. */ error(message: unknown, data?: unknown): void; /** Logs a warning message. */ warn(message: unknown, data?: unknown): void; /** Logs an informational message. */ info(message: unknown, data?: unknown): void; /** Logs a debug message. */ debug(message: unknown, data?: unknown): void; /** * Adds a listener callback that will be invoked for log messages * at or above the specified level. * @param callback The function to call when a log event occurs. * @param minLogLevel The minimum log level for this listener to receive messages. */ addListener(callback: LogCallback, minLogLevel?: LogLevel): void; /** * Removes all registered listeners. */ clearListeners(): void; private static instance; static defaultConsoleListener: LogCallback; private constructor(); /** * Gets the single instance of the ZenidLogger. * @returns The singleton ZenidLogger instance. */ static getInstance(): ZenidLogger; } export declare const zenidLog: ZenidLogger; export {}; //# sourceMappingURL=zenid-log.d.ts.map