import { InfiniteData, QueryClient } from '../vanilla' import { ObservableInfiniteQuerySuccessResult } from '../vanilla/observableInfiniteQuery' import { ObservableQuerySuccessResult } from '../vanilla/observableQuery' import { suspenseOptions } from './suspense' import { useBaseQuery } from './useBaseQuery' import { UseInfiniteQueryOptions, UseQueryOptions } from './useQuery' export type UseSuspenseQueryOptions< TFetcherData = unknown, TVars = unknown, TError = Error, TData = TFetcherData > = Omit< UseQueryOptions, 'suspense' | 'enabled' | 'throwOnError' | 'placeholderData' > export type UseSuspenseQueryResult = Omit< ObservableQuerySuccessResult, 'isPlaceholderData' > export type UseSuspenseInfiniteQueryOptions< TFetcherData = unknown, TVars = unknown, TError = Error, TData = InfiniteData > = Omit< UseInfiniteQueryOptions, 'suspense' | 'enabled' | 'throwOnError' | 'placeholderData' > export type UseSuspenseInfiniteQueryResult< TData = unknown, TError = unknown > = Omit< ObservableInfiniteQuerySuccessResult, 'isPlaceholderData' > export function useSuspenseQuery< TFetcherData = unknown, TVars = unknown, TError = Error, TData = InfiniteData >( options: UseSuspenseInfiniteQueryOptions, queryClient?: QueryClient ): UseSuspenseInfiniteQueryResult export function useSuspenseQuery< TFetcherData = unknown, TVars = unknown, TError = Error, TData = TFetcherData >( options: UseSuspenseQueryOptions, queryClient?: QueryClient ): UseSuspenseQueryResult export function useSuspenseQuery(options: any, queryClient?: QueryClient): any { return useBaseQuery( { ...options, ...suspenseOptions, }, queryClient ) }