import { EventCallback, EventFilter, ConnectionState, EventStreamConfig } from './types'; export declare class EventStreamManager { private ws; private subscriptions; private reconnectAttempts; private maxReconnectAttempts; private reconnectBaseDelay; private maxReconnectDelay; private heartbeatInterval; private heartbeatTimeout; private heartbeatTimer; private heartbeatTimeoutTimer; private connectionState; private rpcEndpoint; private pendingPings; private reconnectTimer; private config; private logger; private maxSubscriptions; private wsOpenHandler; private wsMessageHandler; private wsCloseHandler; private wsErrorHandler; constructor(config: EventStreamConfig); /** * Connect to Tendermint WebSocket endpoint */ connect(): Promise; /** * Subscribe to blockchain events * @param query Tendermint query string (e.g., "tm.event='Tx' AND message.module='deployment'") * @param callback Function to call when events are received * @param filter Optional filter to apply to events * @returns Subscription ID */ subscribe(query: string, callback: EventCallback, filter?: EventFilter): string; /** * Unsubscribe from events */ unsubscribe(subscriptionId: string): void; /** * Disconnect from WebSocket and clean up all resources */ disconnect(): void; /** * Get current connection state */ getConnectionState(): ConnectionState; /** * Get number of active subscriptions */ getSubscriptionCount(): number; /** * Check if connected */ isConnected(): boolean; private sendSubscription; private resubscribeAll; private handleMessage; private handleEvent; private parseEvent; private parseDeploymentEvent; private parseOrderEvent; private parseBidEvent; private parseLeaseEvent; private matchesFilter; private handleClose; private handleReconnect; private startHeartbeat; private stopHeartbeat; private sendPing; private resetHeartbeatTimeout; /** * Setup WebSocket event handlers * @private */ private setupWebSocketHandlers; /** * Remove all WebSocket event handlers * @private */ private removeWebSocketHandlers; /** * Clears reconnection timer * @private */ private clearReconnectTimer; } //# sourceMappingURL=stream.d.ts.map