import { Commitment, PublicKey } from '@solana/web3.js';
import { UserAccount } from '../types';
import { BasicUserAccountSubscriber } from './basicUserAccountSubscriber';
import { Program } from '@coral-xyz/anchor';
import { UserAccountSubscriber } from './types';
/**
 * 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: Program;
    commitment: Commitment;
    constructor(program: Program, userAccountPublicKey: PublicKey, data?: UserAccount, slot?: number, commitment?: Commitment);
    subscribe(userAccount?: UserAccount): Promise<boolean>;
    fetchIfUnloaded(): Promise<void>;
    fetch(): Promise<void>;
}
//# sourceMappingURL=oneShotUserAccountSubscriber.d.ts.map