/** * WebSocketApi - WebSocket Subscriptions * * Real-time subscriptions for accounts, slots, and transactions */ import type { LunaHeliusClient } from '../LunaHeliusClient'; export type SubscriptionCallback = (data: T) => void; export interface Subscription { id: number; unsubscribe: () => void; } export declare class WebSocketApi { private readonly client; private ws; private _subscriptionId; private subscriptions; private pendingRequests; private reconnectAttempts; private maxReconnectAttempts; private isConnecting; constructor(client: LunaHeliusClient); private getWsUrl; /** Connect to WebSocket */ connect(): Promise; private handleReconnect; /** Disconnect WebSocket */ disconnect(): void; private subscribe; private unsubscribe; /** Subscribe to account changes */ accountSubscribe(pubkey: string, callback: SubscriptionCallback, options?: { commitment?: string; encoding?: string; }): Promise; /** Subscribe to logs */ logsSubscribe(filter: 'all' | 'allWithVotes' | { mentions: string[]; }, callback: SubscriptionCallback, options?: { commitment?: string; }): Promise; /** Subscribe to program accounts */ programSubscribe(programId: string, callback: SubscriptionCallback, options?: { commitment?: string; encoding?: string; filters?: any[]; }): Promise; /** Subscribe to signature status */ signatureSubscribe(signature: string, callback: SubscriptionCallback, options?: { commitment?: string; }): Promise; /** Subscribe to slot changes */ slotSubscribe(callback: SubscriptionCallback): Promise; /** Subscribe to root changes */ rootSubscribe(callback: SubscriptionCallback): Promise; /** Subscribe to slot updates */ slotsUpdatesSubscribe(callback: SubscriptionCallback): Promise; /** Subscribe to vote updates */ voteSubscribe(callback: SubscriptionCallback): Promise; } //# sourceMappingURL=WebSocketApi.d.ts.map