import { RelayerWebSocketEvents, WebSocketConfig } from '../utils/Types';
export declare class WebSocketManager {
    private socket;
    private relayerUrl;
    private config;
    private subscribedTransactions;
    private isConnected;
    constructor(relayerUrl: string, config?: WebSocketConfig);
    /**
     * Connect to WebSocket server
     */
    connect(): void;
    /**
     * Disconnect from WebSocket server
     */
    disconnect(): void;
    /**
     * Check if WebSocket is connected
     */
    connected(): boolean;
    /**
     * Subscribe to transaction updates
     */
    subscribeToTransaction(txId: string, events?: RelayerWebSocketEvents): Promise<void>;
    /**
     * Unsubscribe from transaction updates
     */
    unsubscribeFromTransaction(txId: string): void;
    /**
     * Get current transaction status via WebSocket
     */
    getTransactionStatus(txId: string): void;
    /**
     * Setup WebSocket event handlers
     */
    private setupEventHandlers;
    /**
     * Handle transaction creation events
     */
    private handleTransactionCreated;
    /**
     * Handle transaction status updates
     */
    private handleTransactionUpdate;
    /**
     * Notify global event handlers
     */
    private notifyGlobalEvent;
    /**
     * Get connection status information
     */
    getConnectionInfo(): {
        connected: boolean;
        subscribedTransactions: number;
        url: string;
    };
}
