import { type BaseGeneratedSchema, type GQtyError, type RetryOptions } from 'gqty'; import { type LegacyFetchPolicy, type OnErrorHandler } from '../common'; import type { ReactClientOptionsWithDefaults } from '../utils'; import type { UseQuery } from './useQuery'; export interface UseTransactionQueryState { data?: TData; error?: GQtyError; isLoading: boolean; isCalled: boolean; } export type UseTransactionQueryOptions = { cachePolicy?: RequestCache; fetchPolicy?: LegacyFetchPolicy; skip?: boolean; /** * Frequency in milliseconds of polling/refetch of the query */ pollInterval?: number; /** * If it should do polling while on background * * @default false */ pollInBackground?: boolean; notifyOnNetworkStatusChange?: boolean; variables?: TVariables; onCompleted?: (data: TData) => void; onError?: OnErrorHandler; retry?: RetryOptions; suspense?: boolean; operationName?: string; }; export interface UseTransactionQuery { (fn: (query: TSchema['query'], variables?: TVariables) => TData, options?: UseTransactionQueryOptions): UseTransactionQueryState; } export declare function createUseTransactionQuery(useQuery: UseQuery, { defaults: { transactionFetchPolicy: defaultFetchPolicy, retry: defaultRetry, transactionQuerySuspense: defaultSuspense, }, }: ReactClientOptionsWithDefaults): UseTransactionQuery;