@saberhq/sail
Version:
Account caching and batched loading for React-based Solana applications.
30 lines • 1.55 kB
TypeScript
import type { ProgramAccount } from "@saberhq/token-utils";
import type { PublicKey } from "@solana/web3.js";
import type { UseQueryOptions } from "react-query";
import type { ProgramAccountParsers } from "./programAccounts";
import type { BatchedParsedAccountQueryData, BatchedParsedAccountQueryKeys, BatchParsedAccountQueryResult } from "./useBatchedParsedAccounts";
import type { ParsedAccountQueryResult } from "./useParsedAccount";
/**
* React hooks for program account parsers.
*/
export declare type ProgramParserHooks<T> = {
/**
* Uses the data of a single key.
*/
useSingleData: (key: PublicKey | null | undefined, options?: Omit<UseQueryOptions<ProgramAccount<T> | null | undefined>, "queryFn" | "queryKey">) => ParsedAccountQueryResult<T>;
/**
* Uses the data of multiple keys.
*/
useData: (keys: (PublicKey | null | undefined)[], options?: Omit<UseQueryOptions<ProgramAccount<T> | null | undefined>, "queryFn" | "queryKey">) => ParsedAccountQueryResult<T>[];
/**
* Uses the data of multiple keys, batched into a single call.
*/
useBatchedData: (keys: BatchedParsedAccountQueryKeys, options?: Omit<UseQueryOptions<BatchedParsedAccountQueryData<T>>, "queryFn" | "queryKey">) => BatchParsedAccountQueryResult<T>;
};
/**
* Makes hooks for parsers.
* @param parsers
* @returns
*/
export declare const makeProgramParserHooks: <M, A extends keyof M>(parsers: ProgramAccountParsers<M>) => { [K in A]: ProgramParserHooks<M[K]>; };
//# sourceMappingURL=makeProgramParserHooks.d.ts.map