/// <reference types="node" />
import { DataAndSlot, HighLeverageModeConfigAccountEvents, HighLeverageModeConfigAccountSubscriber } 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 { BulkAccountLoader } from './bulkAccountLoader';
import { HighLeverageModeConfig } from '../types';
export declare class PollingHighLeverageModeConfigAccountSubscriber implements HighLeverageModeConfigAccountSubscriber {
    isSubscribed: boolean;
    program: Program;
    eventEmitter: StrictEventEmitter<EventEmitter, HighLeverageModeConfigAccountEvents>;
    highLeverageModeConfigAccountPublicKey: PublicKey;
    accountLoader: BulkAccountLoader;
    callbackId?: string;
    errorCallbackId?: string;
    highLeverageModeConfigAccountAndSlot?: DataAndSlot<HighLeverageModeConfig>;
    constructor(program: Program, publicKey: PublicKey, accountLoader: BulkAccountLoader);
    subscribe(highLeverageModeConfig?: HighLeverageModeConfig): Promise<boolean>;
    addToAccountLoader(): Promise<void>;
    fetchIfUnloaded(): Promise<void>;
    fetch(): Promise<void>;
    doesAccountExist(): boolean;
    unsubscribe(): Promise<void>;
    assertIsSubscribed(): void;
    getHighLeverageModeConfigAccountAndSlot(): DataAndSlot<HighLeverageModeConfig>;
    didSubscriptionSucceed(): boolean;
    updateData(highLeverageModeConfig: HighLeverageModeConfig, slot: number): void;
}
//# sourceMappingURL=pollingHighLeverageModeConfigAccountSubscriber.d.ts.map