import { GQlessClient, GQlessError, RetryOptions } from 'gqless'; import { FetchPolicy, OnErrorHandler } from '../common'; import { ReactClientOptionsWithDefaults } from '../utils'; export interface UseTransactionQueryState { data: TData | undefined; error?: GQlessError; isLoading: boolean; isCalled: boolean; } export declare type UseTransactionQueryOptions = { fetchPolicy?: FetchPolicy; skip?: boolean; pollInterval?: number; notifyOnNetworkStatusChange?: boolean; variables?: TVariables; onCompleted?: (data: TData) => void; onError?: OnErrorHandler; retry?: RetryOptions; suspense?: boolean; } & (TVariables extends undefined ? { variables?: TVariables; } : { variables: TVariables; }); export interface UseTransactionQuery { (fn: (query: GeneratedSchema['query'], variables: TVariables) => TData, ...[queryOptions]: undefined extends TVariables ? [UseTransactionQueryOptions?] : [UseTransactionQueryOptions]): UseTransactionQueryState; } export declare function createUseTransactionQuery(client: GQlessClient, { defaults: { transactionFetchPolicy: defaultFetchPolicy, retry: defaultRetry, transactionQuerySuspense: defaultSuspense, }, }: ReactClientOptionsWithDefaults): UseTransactionQuery;