import { GQtyError, type BaseGeneratedSchema, type GQtyClient } from 'gqty'; import type { ReactClientOptionsWithDefaults } from '../utils'; export interface UsePreparedQueryOptions { suspense?: boolean; } export type TQueryFunction | undefined, TData = unknown> = (query: TSchema['query'], args: TArgs) => TData; export interface PreparedQuery> { preload: PreloadFn; refetch: RefetchFn; usePrepared: UsePreparedHook; callback: TFunction; } export type PreloadFn> = (args?: Parameters[1]) => Promise>; export type RefetchFn> = (args?: Parameters[1]) => Promise>; export type UsePreparedHook> = (options?: UsePreparedQueryOptions) => PreparedQueryState>; export type PreparedQueryState = { data?: TData; error?: GQtyError; promise?: Promise; isLoading: boolean; isRefetching: boolean; called: boolean; }; export interface PrepareQuery { >(fn: TFunction): PreparedQuery; } export declare function createPrepareQuery({ prefetch, query, refetch: clientRefetch }: GQtyClient, { defaults: { preparedSuspense: defaultSuspense }, }: ReactClientOptionsWithDefaults): PrepareQuery;