import * as JsonRpcLite from 'jsonrpc-lite'; import type { Block, Transaction, Microblock, RpcAddressTxNotificationParams, RpcAddressBalanceNotificationParams, NftEvent, MempoolTransaction } from '../types'; type IWebSocket = import('ws') | WebSocket; interface Subscription { unsubscribe(): Promise; } export declare class StacksApiWebSocketClient { webSocket: IWebSocket; idCursor: number; pendingRequests: Map void; reject: (error: any) => void; }>; eventEmitter: import("eventemitter3")<{ block: (event: Block) => void; microblock: (event: Microblock) => void; mempool: (event: Transaction) => void; txUpdate: (event: Transaction | MempoolTransaction) => any; addressTxUpdate: (event: RpcAddressTxNotificationParams) => void; addressBalanceUpdate: (event: RpcAddressBalanceNotificationParams) => void; nftEventUpdate: (event: NftEvent) => void; nftAssetEventUpdate: (event: NftEvent) => void; nftCollectionEventUpdate: (event: NftEvent) => void; }, any>; static connect(url?: string): Promise; constructor(webSocket: IWebSocket); handleNotification(data: JsonRpcLite.NotificationObject): void; private rpcCall; subscribeBlocks(update: (event: Block) => any): Promise; subscribeMicroblocks(update: (event: Microblock) => any): Promise; subscribeMempool(update: (event: Transaction) => any): Promise; subscribeTxUpdates(txId: string, update: (event: Transaction | MempoolTransaction) => any): Promise; subscribeAddressTransactions(address: string, update: (event: RpcAddressTxNotificationParams) => any): Promise; subscribeAddressBalanceUpdates(address: string, update: (event: RpcAddressBalanceNotificationParams) => any): Promise; subscribeNftEventUpdates(update: (event: NftEvent) => any): Promise; subscribeNftAssetEventUpdates(assetIdentifier: string, value: string, update: (event: NftEvent) => any): Promise; subscribeNftCollectionEventUpdates(assetIdentifier: string, update: (event: NftEvent) => any): Promise; } export declare function connectWebSocketClient(url?: string): Promise; export {};