import type { MessageBatcher } from 'message-batcher'; import type { LogLevel, LogMessageHandler } from '../types/common'; export declare const BATCH_SIZE = 50; export interface RecordMeta { error?: unknown; clientTimestamp: string; from_sdk: boolean; case?: string; channelId?: string; applicationId?: string; peerId?: string; [key: string]: unknown; } export interface ClientMeta { clUId: string; peerId?: string; channelId?: string; appId?: string; [key: string]: unknown; } export interface LoggerParams { logLevel: LogLevel; onLogMessage?: LogMessageHandler; sendAnalytics: boolean; } export interface LoggerConstructorParams { namespace: string; logLevel: LogLevel; onLogMessage?: LogMessageHandler; sendAnalytics: boolean; logToRemoteBatcher: MessageBatcher; } export type LogRecordMeta = Record & { error?: unknown; case?: string; channelId?: string; applicationId?: string; peerId?: string; }; export interface LogToRemotePayload { level: LogLevel; message: string; meta?: LogRecordMeta; } declare class Logger { #private; private readonly _debug; private readonly _info; private readonly _warn; private readonly _error; readonly onLogMessage?: LogMessageHandler; constructor(params: LoggerConstructorParams); debug(message: string, meta: Record): void; info(message: string, meta: Record): void; warn(message: string, meta: Record): void; error(message: string, meta: Record): void; } export default Logger;