import type { Connection } from "@solana/web3.js"; import type { AccountFetcher } from "."; import type { Address } from "../../address-util"; import type { ParsableEntity } from "../parsing"; type CachedContent = { parser: ParsableEntity; fetchedAt: number; value: T | null; }; export type RetentionPolicy = ReadonlyMap, number>; export type SimpleAccountFetchOptions = { maxAge?: number; timeoutInSeconds?: number; }; export declare class SimpleAccountFetcher implements AccountFetcher { readonly connection: Connection; readonly retentionPolicy: RetentionPolicy; cache: Map>; constructor(connection: Connection, retentionPolicy: RetentionPolicy); getAccount(address: Address, parser: ParsableEntity, opts?: FetchOptions | undefined, now?: number): Promise; private getMaxAge; getAccounts(addresses: Address[], parser: ParsableEntity, opts?: SimpleAccountFetchOptions | undefined, now?: number): Promise>; getAccountsAsArray(addresses: Address[], parser: ParsableEntity, opts?: FetchOptions | undefined, now?: number): Promise>; populateAccounts(accounts: ReadonlyMap, parser: ParsableEntity, now: number): void; refreshAll(now?: number, timeoutInSeconds?: number): Promise; private fetchAndPopulateCache; } export {};