import type { SuiClient } from '@mysten/sui/client'; import type { UndefinedInitialDataOptions, UseQueryOptions, UseQueryResult } from '@tanstack/react-query'; import type { PartialBy } from '../types/utilityTypes.js'; export type SuiRpcMethodName = { [K in keyof SuiClient]: SuiClient[K] extends ((input: any) => Promise) | (() => Promise) ? K : never; }[keyof SuiClient]; export type SuiRpcMethods = { [K in SuiRpcMethodName]: SuiClient[K] extends (input: infer P) => Promise ? { name: K; result: R; params: P; } : SuiClient[K] extends () => Promise ? { name: K; result: R; params: undefined | object; } : never; }; export type UseSuiClientQueryOptions = PartialBy, 'queryFn'>, 'queryKey'>; export type GetSuiClientQueryOptions = { client: SuiClient; network: string; method: T; options?: PartialBy, 'queryFn'>, 'queryKey'>; } & (undefined extends SuiRpcMethods[T]['params'] ? { params?: SuiRpcMethods[T]['params']; } : { params: SuiRpcMethods[T]['params']; }); export declare function getSuiClientQuery({ client, network, method, params, options, }: GetSuiClientQueryOptions): import("@tanstack/react-query").OmitKeyof, "queryFn"> & { queryFn?: import("@tanstack/react-query").QueryFunction | undefined; } & { queryKey: readonly unknown[] & { [dataTagSymbol]: SuiRpcMethods[T]["result"]; [dataTagErrorSymbol]: Error; }; }; export declare function useSuiClientQuery(...args: undefined extends SuiRpcMethods[T]['params'] ? [method: T, params?: SuiRpcMethods[T]['params'], options?: UseSuiClientQueryOptions] : [method: T, params: SuiRpcMethods[T]['params'], options?: UseSuiClientQueryOptions]): UseQueryResult; export declare function useSuiClientSuspenseQuery(...args: undefined extends SuiRpcMethods[T]['params'] ? [method: T, params?: SuiRpcMethods[T]['params'], options?: UndefinedInitialDataOptions] : [method: T, params: SuiRpcMethods[T]['params'], options?: UndefinedInitialDataOptions]): import("@tanstack/react-query").UseSuspenseQueryResult;