import React from 'react'; import * as _tanstack_react_query from '@tanstack/react-query'; import { QueryClient, useQuery } from '@tanstack/react-query'; import { SolanaClient, Simplify, FetchAccountConfig, Account, Address, Decoder, GetBalanceApi, GetLatestBlockhashApi, GetProgramAccountsApi, SolanaRpcResponse, AccountInfoWithPubkey, AccountInfoBase, AccountInfoWithBase64EncodedData, AccountInfoWithBase64EncodedZStdCompressedData, AccountInfoWithJsonData, AccountInfoWithBase58EncodedData, AccountInfoWithBase58Bytes, GetRecentPrioritizationFeesApi, GetSignatureStatusesApi, Signature, GetSignaturesForAddressApi, GetSlotApi, GetTransactionApi } from 'gill'; import { Token, Mint } from 'gill/programs/token'; /** * @private */ declare const GILL_NAME = "gill"; declare const GILL_HOOK_CLIENT_KEY = "gill-client"; /** * Provider to utilize gill hooks for Solana */ declare function SolanaProvider({ client, children, queryClient, }: { client: SolanaClient; children: React.ReactNode; queryClient?: QueryClient; }): React.JSX.Element; type OmittedUseQueryFields = "queryKey" | "queryFn"; type GillUseQueryDefaultOptions = Omit[0], OmittedUseQueryFields>; type GillUseRpcHook = { /** * RPC configuration passed to the RPC method being called */ config?: TConfig; /** * Options passed to the {@link useQuery} hook */ options?: Simplify; /** * Signal used to abort the RPC operation * * See MDN docs for {@link https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal | AbortSignal} * and {@link https://developer.mozilla.org/en-US/docs/Web/API/AbortController | AbortController} */ abortSignal?: AbortSignal; }; type RpcConfig$9 = Simplify>; type UseAccountResponse = Account & { exists: true; }; type UseAccountInput = GillUseRpcHook & { /** * Address of the account to get the balance of */ address: TAddress | Address; /** * Account decoder that can decode the account's `data` byte array value */ decoder?: Decoder; }; /** * Get the account info for an address using the Solana RPC method of * [`getAccountInfo`](https://solana.com/docs/rpc/http/getaccountinfo) */ declare function useAccount({ options, config, abortSignal, address, decoder }: UseAccountInput): { account: UseAccountResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseAccountResponse; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseAccountResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseAccountResponse; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseAccountResponse; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; type RpcConfig$8 = Simplify>[1]; type UseBalanceResponse = ReturnType["value"]; type UseBalanceInput = GillUseRpcHook & { /** * Address of the account to get the balance of */ address: Address | string; }; /** * Get an account's balance (in lamports) using the Solana RPC method of * [`getBalance`](https://solana.com/docs/rpc/http/getbalance) */ declare function useBalance({ options, config, abortSignal, address, }: UseBalanceInput): { balance: UseBalanceResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { balance: UseBalanceResponse; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { balance: UseBalanceResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { balance: UseBalanceResponse; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { balance: UseBalanceResponse; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; /** * Get the current Solana client (including `rpc` and `rpcSubscriptions`) */ declare function useSolanaClient(): SolanaClient; /** * Update your Solana client (including `rpc` and `rpcSubscriptions`) */ declare function useUpdateSolanaClient(): _tanstack_react_query.UseMutationResult; type RpcConfig$7 = Simplify>[0]; type UseLatestBlockhashResponse = ReturnType["value"]; type UseLatestBlockhashInput = GillUseRpcHook; /** * Get the latest blockhash using the Solana RPC method of * [`getLatestBlockhash`](https://solana.com/docs/rpc/http/getlatestblockhash) * * To auto refetch the latest blockhash, provide a `options.refetchInterval` value */ declare function useLatestBlockhash({ options, config, abortSignal, }?: UseLatestBlockhashInput): { latestBlockhash: UseLatestBlockhashResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { latestBlockhash: UseLatestBlockhashResponse; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { latestBlockhash: UseLatestBlockhashResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { latestBlockhash: UseLatestBlockhashResponse; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { latestBlockhash: UseLatestBlockhashResponse; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; type Encoding = "base64" | "jsonParsed" | "base64+zstd" | "base58"; type RpcConfig$6 = Simplify[1] & Readonly<{ encoding?: Encoding; }>>; type UseProgramAccountsInput = GillUseRpcHook & { /** * Address of the program used to call * [`getProgramAccounts`](https://solana.com/docs/rpc/http/getprogramaccounts) */ program: Address | string; }; type UseProgramAccountsResponse = TConfig extends { encoding: "base64"; withContext: true; } ? SolanaRpcResponse[]> : TConfig extends { encoding: "base64"; } ? AccountInfoWithPubkey[] : TConfig extends { encoding: "base64+zstd"; withContext: true; } ? SolanaRpcResponse[]> : TConfig extends { encoding: "base64+zstd"; } ? AccountInfoWithPubkey[] : TConfig extends { encoding: "jsonParsed"; withContext: true; } ? SolanaRpcResponse[]> : TConfig extends { encoding: "jsonParsed"; } ? AccountInfoWithPubkey[] : TConfig extends { encoding: "base58"; withContext: true; } ? SolanaRpcResponse[]> : TConfig extends { encoding: "base58"; } ? AccountInfoWithPubkey[] : TConfig extends { withContext: true; } ? SolanaRpcResponse[]> : AccountInfoWithPubkey[]; /** * Get all the accounts owned by a `program` using the Solana RPC method of * [`getProgramAccounts`](https://solana.com/docs/rpc/http/getprogramaccounts) */ declare function useProgramAccounts({ options, config, abortSignal, program, }: UseProgramAccountsInput): { accounts: Simplify>; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { accounts: Simplify>; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { accounts: Simplify>; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { accounts: Simplify>; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { accounts: Simplify>; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; type UseRecentPrioritizationFeesInput = Simplify, "options" | "abortSignal"> & { addresses?: Parameters[0]; }>; type UseRecentPrioritizationFeesResponse = ReturnType; /** * Get the recent prioritization fees for a list of addresses using the Solana RPC method of * [`getRecentPrioritizationFees`](https://solana.com/docs/rpc/http/getrecentprioritizationfees) */ declare function useRecentPrioritizationFees({ options, abortSignal, addresses, }?: UseRecentPrioritizationFeesInput): { fees: UseRecentPrioritizationFeesResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { fees: UseRecentPrioritizationFeesResponse; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { fees: UseRecentPrioritizationFeesResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { fees: UseRecentPrioritizationFeesResponse; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { fees: UseRecentPrioritizationFeesResponse; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; type RpcConfig$5 = Simplify[1]>; type UseSignatureStatusesInput = GillUseRpcHook & { /** * List of signatures used to call * [`getSignatureStatuses`](https://solana.com/docs/rpc/http/getsignaturestatuses) */ signatures: Signature[] | string[]; }; type UseSignatureStatusesResponse = ReturnType["value"]; /** * Get the statuses of signatures using the Solana RPC method of * [`getSignatureStatuses`](https://solana.com/docs/rpc/http/getsignaturestatuses) */ declare function useSignatureStatuses({ options, config, abortSignal, signatures, }: UseSignatureStatusesInput): { statuses: UseSignatureStatusesResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { statuses: UseSignatureStatusesResponse; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { statuses: UseSignatureStatusesResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { statuses: UseSignatureStatusesResponse; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { statuses: UseSignatureStatusesResponse; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; type RpcConfig$4 = Simplify[1]>; type UseSignaturesForAddressInput = GillUseRpcHook & { /** * Address of the account to fetch signatures of */ address: Address | string; }; type UseSignaturesForAddressResponse = ReturnType; /** * Returns signatures for confirmed transactions that include the given address * in their `accountKeys` list. Returns signatures backwards in time from the * provided signature or most recent confirmed block using the Solana RPC method of * [`getSignaturesForAddress`](https://solana.com/docs/rpc/http/getsignaturesforaddress) */ declare function useSignaturesForAddress({ options, config, abortSignal, address, }: UseSignaturesForAddressInput): { signatures: UseSignaturesForAddressResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { signatures: UseSignaturesForAddressResponse; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { signatures: UseSignaturesForAddressResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { signatures: UseSignaturesForAddressResponse; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { signatures: UseSignaturesForAddressResponse; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; type RpcConfig$3 = Simplify>[0]; type UseSlotResponse = ReturnType; type UseSlotInput = GillUseRpcHook; /** * Get the current slot using the Solana RPC method of * [`getSlot`](https://solana.com/docs/rpc/http/getslot) * * To auto refetch the slot, provide a `options.refetchInterval` value */ declare function useSlot({ options, config, abortSignal, }?: UseSlotInput): { slot: UseSlotResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { slot: UseSlotResponse; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { slot: UseSlotResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { slot: UseSlotResponse; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { slot: UseSlotResponse; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; type RpcConfig$2 = Simplify>; type UseTokenAccountResponse = Simplify & { exists: true; }>; type TokenAccountInputWithDeclaredAta = { /** * Address of the {@link https://solana.com/docs/tokens#associated-token-account | Token Account} to get and decode */ ata: TAddress; }; type TokenAccountInputWithDerivedAtaDetails = { /** * Address of the {@link https://solana.com/docs/tokens#token-account | Token Account}'s `owner` */ owner: Address; /** * Address of the {@link https://solana.com/docs/tokens#token-account | Token Account}'s `mint` */ mint: Address; /** * The {@link https://solana.com/docs/tokens#token-programs | Token Program} used to create the `mint` * * If no `tokenProgram` is provided, the hook will automatically fetch the * {@link https://solana.com/docs/tokens#mint-account | Mint account} to retrieve the correct Token Program address */ tokenProgram?: Address; }; type UseTokenAccountInput = GillUseRpcHook & (TokenAccountInputWithDeclaredAta | TokenAccountInputWithDerivedAtaDetails); /** * Get and parse an owner's {@link https://solana.com/docs/tokens#token-account | Token account} for a * {@link https://solana.com/docs/tokens#mint-account | Mint} and {@link https://solana.com/docs/tokens#token-programs | Token Program} */ declare function useTokenAccount({ options, config, abortSignal, ...tokenAccountOptions }: UseTokenAccountInput): { account: UseTokenAccountResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseTokenAccountResponse; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseTokenAccountResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseTokenAccountResponse; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseTokenAccountResponse; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; type RpcConfig$1 = Simplify>; type UseTokenMintResponse = Simplify & { exists: true; }>; type UseTokenMintInput = GillUseRpcHook & { /** * Address of the Mint account to get and decode */ mint: TAddress | Address; }; /** * Get and parse a token's {@link https://solana.com/docs/tokens#mint-account | Mint account} */ declare function useTokenMint({ options, config, abortSignal, mint, }: UseTokenMintInput): { account: UseTokenMintResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseTokenMintResponse; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseTokenMintResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseTokenMintResponse; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { account: UseTokenMintResponse; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; type RpcConfig = Simplify[1]>; type UseTransactionResponse = ReturnType; type UseTransactionInput = GillUseRpcHook & { /** * Transaction signature as a base-58 encoded string */ signature: Signature | string; }; /** * Get transaction details for a confirmed transaction using the Solana RPC method of * [`getTransaction`](https://solana.com/docs/rpc/http/gettransaction) * * Default `config` includes: * - `maxSupportedTransactionVersion` of `0` * - `encoding` of `json` */ declare function useTransaction({ options, config, abortSignal, signature, }: UseTransactionInput): { transaction: UseTransactionResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: true; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { transaction: UseTransactionResponse; error: null; isError: false; isPending: false; isLoading: false; isLoadingError: false; isRefetchError: false; isSuccess: true; status: "success"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { transaction: UseTransactionResponse; error: unknown; isError: true; isPending: false; isLoading: false; isLoadingError: true; isRefetchError: false; isSuccess: false; status: "error"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { transaction: UseTransactionResponse; error: null; isError: false; isPending: true; isLoading: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; } | { transaction: UseTransactionResponse; error: null; isError: false; isPending: true; isLoadingError: false; isRefetchError: false; isSuccess: false; status: "pending"; dataUpdatedAt: number; errorUpdatedAt: number; failureCount: number; failureReason: unknown; errorUpdateCount: number; isFetched: boolean; isFetchedAfterMount: boolean; isFetching: boolean; isLoading: boolean; isInitialLoading: boolean; isPaused: boolean; isPlaceholderData: boolean; isRefetching: boolean; isStale: boolean; refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult>; fetchStatus: _tanstack_react_query.FetchStatus; promise: Promise; }; export { GILL_HOOK_CLIENT_KEY, GILL_NAME, SolanaProvider, useAccount, useBalance, useLatestBlockhash, useProgramAccounts, useRecentPrioritizationFees, useSignatureStatuses, useSignaturesForAddress, useSlot, useSolanaClient, useTokenAccount, useTokenMint, useTransaction, useUpdateSolanaClient };