///
import { DataAndSlot, AccountSubscriber, InsuranceFundStakeAccountEvents, InsuranceFundStakeAccountSubscriber } from './types';
import { Program } from '@coral-xyz/anchor';
import StrictEventEmitter from 'strict-event-emitter-types';
import { EventEmitter } from 'events';
import { Commitment, PublicKey } from '@solana/web3.js';
import { InsuranceFundStake } from '../types';
export declare class WebSocketInsuranceFundStakeAccountSubscriber implements InsuranceFundStakeAccountSubscriber {
isSubscribed: boolean;
reconnectTimeoutMs?: number;
commitment?: Commitment;
program: Program;
eventEmitter: StrictEventEmitter;
insuranceFundStakeAccountPublicKey: PublicKey;
insuranceFundStakeDataAccountSubscriber: AccountSubscriber;
constructor(program: Program, insuranceFundStakeAccountPublicKey: PublicKey, reconnectTimeoutMs?: number, commitment?: Commitment);
subscribe(insuranceFundStakeAccount?: InsuranceFundStake): Promise;
fetch(): Promise;
unsubscribe(): Promise;
assertIsSubscribed(): void;
getInsuranceFundStakeAccountAndSlot(): DataAndSlot;
updateData(insuranceFundStake: InsuranceFundStake, slot: number): void;
}