import { InfiniteData, InfiniteQuery, Query, QueryClient } from '../vanilla' import { ObservableInfiniteQueryResult } from '../vanilla/observableInfiniteQuery' import { ObservableQueryResult } from '../vanilla/observableQuery' import { UseBseQueryOptions, useBaseQuery } from './useBaseQuery' export type UseQueryOptions< TFetcherData = unknown, TVars = unknown, TError = Error, TData = TFetcherData > = UseBseQueryOptions & { query: Query } export type UseQueryResult< TData = unknown, TError = unknown > = ObservableQueryResult export type UseInfiniteQueryOptions< TFetcherData = unknown, TVars = unknown, TError = Error, TData = InfiniteData > = UseBseQueryOptions< TFetcherData, TVars, TError, InfiniteData, TData > & { query: InfiniteQuery } export type UseInfiniteQueryResult< TData = unknown, TError = unknown > = ObservableInfiniteQueryResult export function useQuery< TFetcherData = unknown, TVars = unknown, TError = Error, TData = InfiniteData >( options: UseInfiniteQueryOptions, queryClient?: QueryClient ): UseInfiniteQueryResult export function useQuery< TFetcherData = unknown, TVars = unknown, TError = Error, TData = TFetcherData >( options: UseQueryOptions, queryClient?: QueryClient ): UseQueryResult export function useQuery(options: any, queryClient?: QueryClient) { return useBaseQuery(options, queryClient) }