/// <reference types="bn.js" />
/**
 * UserStats — abstraction over the on-chain `UserStats` account.
 * Tracks referral links, 30-day maker/taker volume, fuel rewards, and IF staking stats.
 * One `UserStats` account exists per authority (shared across all subaccounts).
 */
import { DriftClient } from './driftClient';
import { PublicKey } from '@solana/web3.js';
import { DataAndSlot, UserStatsAccountSubscriber } from './accounts/types';
import { UserStatsConfig } from './userStatsConfig';
import { ReferrerInfo, UserStatsAccount } from './types';
import { BN } from './isomorphic/anchor';
export declare class UserStats {
    driftClient: DriftClient;
    userStatsAccountPublicKey: PublicKey;
    accountSubscriber: UserStatsAccountSubscriber;
    isSubscribed: boolean;
    constructor(config: UserStatsConfig);
    subscribe(userStatsAccount?: UserStatsAccount): Promise<boolean>;
    fetchAccounts(): Promise<void>;
    unsubscribe(): Promise<void>;
    getAccountAndSlot(): DataAndSlot<UserStatsAccount>;
    getAccount(): UserStatsAccount;
    getInsuranceFuelBonus(now: BN, includeSettled?: boolean, includeUnsettled?: boolean): BN;
    getReferrerInfo(): ReferrerInfo | undefined;
    static getOldestActionTs(account: UserStatsAccount): number;
}
