/// <reference types="node" />
import type { AccountInfoFetcher, Provider, PublicKey } from "@saberhq/solana-contrib";
import { SolanaAugmentedProvider } from "@saberhq/solana-contrib";
import type { AccountInfo, KeyedAccountInfo } from "@solana/web3.js";
import type DataLoader from "dataloader";
export declare class SailBatchProvider extends SolanaAugmentedProvider {
    readonly provider: Provider;
    readonly loader: DataLoader<PublicKey, AccountInfo<Buffer> | null, string>;
    readonly fetcher: AccountInfoFetcher;
    constructor(provider: Provider, loader: DataLoader<PublicKey, AccountInfo<Buffer> | null, string>);
    getAccountInfo(accountId: PublicKey): Promise<KeyedAccountInfo | null>;
}
export declare class SailBatchFetcher implements AccountInfoFetcher {
    readonly loader: DataLoader<PublicKey, AccountInfo<Buffer> | null, string>;
    constructor(loader: DataLoader<PublicKey, AccountInfo<Buffer> | null, string>);
    getAccountInfo(accountId: PublicKey): Promise<KeyedAccountInfo | null>;
}
//# sourceMappingURL=batchProvider.d.ts.map