import { PublicationContext, Subscription, SubscriptionErrorContext } from "centrifuge"; import { Client, ControlMessage, Transaction } from "./interface"; /** * JungleBusSubscription class * * @constructor * @example * const jungleBusClient = new JungleBusSubscription(options: Subscription) */ export declare class JungleBusSubscription { private liteMode; MaxQueueSize: number; client: Client; subscription: Subscription | undefined; controlSubscription: Subscription | undefined; mempoolSubscription: Subscription | undefined; subscriptionID: string; currentBlock: number; onPublish?: (tx: Transaction) => void; onMempool?: (tx: Transaction) => void; onStatus?: (message: ControlMessage) => void; onError?: (error: SubscriptionErrorContext) => void; subscribed: boolean; controlSubscribed: boolean; mempoolSubscribed: boolean; paused: boolean; error: SubscriptionErrorContext | undefined; private subscriptionQueue; private mempoolQueue; constructor(client: Client, subscriptionID: string, fromBlock: number, onPublish?: (tx: Transaction) => void, onStatus?: (message: ControlMessage) => void, onError?: (error: SubscriptionErrorContext) => void, onMempool?: (tx: Transaction) => void, liteMode?: boolean); /** * Start the subscription * * @return void */ Subscribe(): void; private subscribeControlMessage; private subscribeMempool; private subscribeTransactionBlocks; protected processTransaction(self: this, ctx: PublicationContext): any; /** * Get the current last block that was processed completely * * @return number */ GetCurrentBlock(): number; /** * Unsubscribe from this subscription * * @return void */ UnSubscribe(): void; private unsubscribeTransactionBlocks; }