import { Commitment, PublicKey } from '@solana/web3.js';
import { UserAccount } from '../types';
import { BasicUserAccountSubscriber } from './basicUserAccountSubscriber';
import { UserAccountSubscriber } from './types';
import { DriftProgram } from '../config';
/**
 * Simple implementation of UserAccountSubscriber. It will fetch the UserAccount
 * date on subscribe (or call to fetch) if no account data is provided on init.
 * Expect to use only 1 RPC call unless you call fetch repeatedly.
 */
export declare class OneShotUserAccountSubscriber extends BasicUserAccountSubscriber implements UserAccountSubscriber {
    program: DriftProgram;
    commitment: Commitment;
    constructor(program: DriftProgram, userAccountPublicKey: PublicKey, data?: UserAccount, slot?: number, commitment?: Commitment);
    subscribe(userAccount?: UserAccount): Promise<boolean>;
    fetchIfUnloaded(): Promise<void>;
    fetch(): Promise<void>;
}
//# sourceMappingURL=oneShotUserAccountSubscriber.d.ts.map