import type { DataTag, DefaultError, InfiniteData, InitialDataFunction, NonUndefinedGuard, OmitKeyof, QueryKey, SkipToken, } from '@tanstack/query-core' import type { UseInfiniteQueryOptions } from './types' export type UndefinedInitialDataInfiniteOptions< TQueryFnData, TError = DefaultError, TData = InfiniteData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, > = UseInfiniteQueryOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam > & { initialData?: | undefined | NonUndefinedGuard> | InitialDataFunction< NonUndefinedGuard> > } export type UnusedSkipTokenInfiniteOptions< TQueryFnData, TError = DefaultError, TData = InfiniteData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, > = OmitKeyof< UseInfiniteQueryOptions, 'queryFn' > & { queryFn?: Exclude< UseInfiniteQueryOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam >['queryFn'], SkipToken | undefined > } export type DefinedInitialDataInfiniteOptions< TQueryFnData, TError = DefaultError, TData = InfiniteData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, > = UseInfiniteQueryOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam > & { initialData: | NonUndefinedGuard> | (() => NonUndefinedGuard>) | undefined } export function infiniteQueryOptions< TQueryFnData, TError = DefaultError, TData = InfiniteData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, >( options: DefinedInitialDataInfiniteOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam >, ): DefinedInitialDataInfiniteOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam > & { queryKey: DataTag, TError> } export function infiniteQueryOptions< TQueryFnData, TError = DefaultError, TData = InfiniteData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, >( options: UnusedSkipTokenInfiniteOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam >, ): UnusedSkipTokenInfiniteOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam > & { queryKey: DataTag, TError> } export function infiniteQueryOptions< TQueryFnData, TError = DefaultError, TData = InfiniteData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, >( options: UndefinedInitialDataInfiniteOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam >, ): UndefinedInitialDataInfiniteOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam > & { queryKey: DataTag, TError> } export function infiniteQueryOptions(options: unknown) { return options }