/// /// import { DriftClient } from '../driftClient'; import { UserAccount } from '../types'; import { Commitment } from '@solana/web3.js'; import { Buffer } from 'buffer'; import { DLOB } from '../dlob/DLOB'; import { OrderSubscriberConfig, OrderSubscriberEvents } from './types'; import { PollingSubscription } from './PollingSubscription'; import { WebsocketSubscription } from './WebsocketSubscription'; import StrictEventEmitter from 'strict-event-emitter-types'; import { EventEmitter } from 'events'; export declare class OrderSubscriber { driftClient: DriftClient; usersAccounts: Map; subscription: PollingSubscription | WebsocketSubscription; commitment: Commitment; eventEmitter: StrictEventEmitter; fetchPromise?: Promise; fetchPromiseResolver: () => void; mostRecentSlot: number; decodeFn: (name: string, data: Buffer) => UserAccount; constructor(config: OrderSubscriberConfig); subscribe(): Promise; fetch(): Promise; tryUpdateUserAccount(key: string, dataType: 'raw' | 'decoded', data: string[] | UserAccount, slot: number): void; getDLOB(slot: number): Promise; getSlot(): number; unsubscribe(): Promise; }