/// <reference types="node" />
/// <reference types="node" />
import { Connection, PublicKey } from '@solana/web3.js';
import { RevenueShareAccount, RevenueShareEscrowAccount, UserAccount, UserStatsAccount } from '../types';
import { DriftProgram } from '../config';
export declare function fetchUserAccounts(connection: Connection, program: DriftProgram, authority: PublicKey, limit?: number): Promise<(UserAccount | undefined)[]>;
export declare function fetchUserAccountsUsingKeys(connection: Connection, program: DriftProgram, userAccountPublicKeys: PublicKey[]): Promise<(UserAccount | undefined)[]>;
export declare function fetchUserStatsAccount(connection: Connection, program: DriftProgram, authority: PublicKey): Promise<UserStatsAccount | undefined>;
export declare function fetchRevenueShareAccount(connection: Connection, program: DriftProgram, authority: PublicKey): Promise<RevenueShareAccount | null>;
export declare function fetchRevenueShareEscrowAccount(connection: Connection, program: DriftProgram, authority: PublicKey): Promise<RevenueShareEscrowAccount | null>;
export type FetchAccountOptions = {
    commitment?: Parameters<Connection['getAccountInfo']>[1];
};
/** Raw account data buffer (no Anchor decode). */
export declare function fetchAccount(connection: Connection, publicKey: PublicKey, opts?: FetchAccountOptions): Promise<Buffer | null>;
/** Batch variant of {@link fetchAccount}. */
export declare function fetchAccounts(connection: Connection, publicKeys: PublicKey[], opts?: FetchAccountOptions): Promise<(Buffer | null)[]>;
//# sourceMappingURL=fetch.d.ts.map