/// import { BulkAccountLoader, DataAndSlot, PublicKey } from '@drift-labs/sdk'; import { Program } from '@coral-xyz/anchor'; import StrictEventEmitter from 'strict-event-emitter-types'; import { EventEmitter } from 'events'; import { DriftCompetitions } from '../types/drift_competitions'; import { DriftCompetitionsProgramAccountBaseEvents, DriftCompetitionsProgramAccountSubscriber } from '../types/types'; export declare abstract class PollingProgramAccountSubscriberBase implements DriftCompetitionsProgramAccountSubscriber { protected program: Program; protected _isSubscribed: boolean; protected pubkey: PublicKey; protected account?: DataAndSlot; protected _eventEmitter: StrictEventEmitter; protected accountLoader: BulkAccountLoader; protected callbackId: string | null; protected errorCallbackId: string | null; constructor(program: Program, accountPubkey: PublicKey, accountLoader: BulkAccountLoader); get isSubscribed(): boolean; get eventEmitter(): StrictEventEmitter; subscribe(): Promise; unsubscribe(): Promise; fetchIfUnloaded(): Promise; assertIsSubscribed(): void; getAccountAndSlot(): DataAndSlot; abstract addToAccountLoader(): Promise; abstract fetch(): Promise; abstract updateData(account: Account, slot: number): void; }