import { type ILogger, type ILogLevel } from '@powersync/common'; import { type WrappedSyncPort } from './SharedSyncImplementation.js'; /** * Broadcasts logs to all clients */ export declare class BroadcastLogger implements ILogger { protected clients: WrappedSyncPort[]; TRACE: ILogLevel; DEBUG: ILogLevel; INFO: ILogLevel; TIME: ILogLevel; WARN: ILogLevel; ERROR: ILogLevel; OFF: ILogLevel; private currentLevel; constructor(clients: WrappedSyncPort[]); trace(...x: any[]): void; debug(...x: any[]): void; info(...x: any[]): void; log(...x: any[]): void; warn(...x: any[]): void; error(...x: any[]): void; time(label: string): void; timeEnd(label: string): void; /** * Set the global log level. */ setLevel(level: ILogLevel): void; /** * Get the current log level. */ getLevel(): ILogLevel; /** * Returns true if the given level is enabled. */ enabledFor(level: ILogLevel): boolean; /** * Iterates all clients, catches individual client exceptions * and proceeds to execute for all clients. */ protected iterateClients(callback: (client: WrappedSyncPort) => Promise): Promise; /** * Guards against any logging errors. * We don't want a logging exception to cause further issues upstream */ protected sanitizeArgs(x: any[]): any[]; }