///
import { DataAndSlot, UserStatsAccountSubscriber, UserStatsAccountEvents } from './types';
import { Program } from '@coral-xyz/anchor';
import StrictEventEmitter from 'strict-event-emitter-types';
import { EventEmitter } from 'events';
import { PublicKey } from '@solana/web3.js';
import { UserStatsAccount } from '../types';
import { BulkAccountLoader } from './bulkAccountLoader';
export declare class PollingUserStatsAccountSubscriber implements UserStatsAccountSubscriber {
isSubscribed: boolean;
program: Program;
eventEmitter: StrictEventEmitter;
userStatsAccountPublicKey: PublicKey;
accountLoader: BulkAccountLoader;
callbackId?: string;
errorCallbackId?: string;
userStats?: DataAndSlot;
constructor(program: Program, userStatsAccountPublicKey: PublicKey, accountLoader: BulkAccountLoader);
subscribe(userStatsAccount?: UserStatsAccount): Promise;
addToAccountLoader(): Promise;
fetchIfUnloaded(): Promise;
fetch(): Promise;
doesAccountExist(): boolean;
unsubscribe(): Promise;
assertIsSubscribed(): void;
getUserStatsAccountAndSlot(): DataAndSlot;
}