import type { LoggerConfig, LogLevel, LogHandler, ErrorHandler } from '../types';
export declare class WebSocketLogger {
    private ws;
    private sessionId;
    private messageQueue;
    private reconnectAttempts;
    private reconnectTimer;
    private isConnecting;
    private heartbeatInterval;
    private logHandlers;
    private errorHandlers;
    private config;
    private levels;
    private originalConsole;
    private consoleOverridden;
    constructor(config?: Partial<LoggerConfig>);
    init(): void;
    enableConsoleOverride(): void;
    disableConsoleOverride(): void;
    private connectWebSocket;
    private handleServerMessage;
    private scheduleReconnect;
    private startHeartbeat;
    private stopHeartbeat;
    private processMessageQueue;
    private sendMessage;
    private sendLogMessage;
    private createLogMessage;
    private handleLog;
    private handleError;
    private getUrl;
    private getUserAgent;
    private sanitizeConfig;
    log(message: string, data?: any): void;
    info(message: string, data?: any): void;
    warn(message: string, data?: any): void;
    error(message: string, data?: any): void;
    debug(message: string, data?: any): void;
    setMinLevel(level: LogLevel['name']): void;
    enableWebSocketLogging(enable: boolean): void;
    enableConsoleLogging(enable: boolean): void;
    updateConfig(config: Partial<LoggerConfig>): void;
    onLog(handler: LogHandler): () => void;
    onError(handler: ErrorHandler): () => void;
    getSessionId(): string | null;
    getQueueSize(): number;
    getConnectionStatus(): string;
    isConnected(): boolean;
    getConfig(): LoggerConfig;
    connect(): void;
    disconnect(): void;
    destroy(): void;
}
//# sourceMappingURL=websocket-logger.d.ts.map