/// <reference types="node" />
/// <reference types="node" />
import { ConstituentAccountEvents, ConstituentAccountSubscriber } from '../accounts/types';
import { DriftProgram } from '../config';
import StrictEventEmitter from 'strict-event-emitter-types';
import { EventEmitter } from 'events';
import { Commitment, MemcmpFilter } from '@solana/web3.js';
import { ConstituentMap } from './constituentMap';
export declare class PollingConstituentAccountSubscriber implements ConstituentAccountSubscriber {
    isSubscribed: boolean;
    program: DriftProgram;
    frequency: number;
    commitment?: Commitment;
    additionalFilters?: MemcmpFilter[];
    eventEmitter: StrictEventEmitter<EventEmitter, ConstituentAccountEvents>;
    intervalId?: NodeJS.Timeout;
    constituentMap: ConstituentMap;
    constructor(constituentMap: ConstituentMap, program: DriftProgram, frequency: number, commitment?: Commitment, additionalFilters?: MemcmpFilter[]);
    subscribe(): Promise<boolean>;
    sync(): Promise<void>;
    unsubscribe(): Promise<void>;
    assertIsSubscribed(): void;
    didSubscriptionSucceed(): boolean;
}
