import * as vue_demi from 'vue-demi';
import { QueryClient as QueryClient$1, QueryClientConfig, QueryFilters, MutationFilters, QueryKey, DataTag, DefaultError, FetchQueryOptions, Updater, NoInfer, SetDataOptions, QueryState, ResetOptions, CancelOptions, InvalidateQueryFilters, InvalidateOptions, RefetchQueryFilters, RefetchOptions, FetchInfiniteQueryOptions, InfiniteData, DefaultOptions, QueryObserverOptions, MutationKey, MutationObserverOptions } from '@tanstack/query-core';
import { MaybeRefDeep, NoUnknown } from './types.js';

declare class QueryClient extends QueryClient$1 {
    constructor(config?: QueryClientConfig);
    isRestoring: vue_demi.Ref<boolean>;
    isFetching(filters?: MaybeRefDeep<QueryFilters>): number;
    isMutating(filters?: MaybeRefDeep<MutationFilters>): number;
    getQueryData<TData = unknown, TaggedQueryKey extends QueryKey = QueryKey>(queryKey: MaybeRefDeep<TaggedQueryKey>): (TaggedQueryKey extends DataTag<unknown, infer TaggedValue> ? TaggedValue : TData) | undefined;
    getQueryData<TData = unknown>(queryKey: MaybeRefDeep<QueryKey>): TData | undefined;
    ensureQueryData<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<TData>;
    ensureQueryData<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: MaybeRefDeep<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>>): Promise<TData>;
    getQueriesData<TData = unknown>(filters: MaybeRefDeep<QueryFilters>): Array<[QueryKey, TData | undefined]>;
    setQueryData<TQueryFnData, TaggedQueryKey extends QueryKey, TData = TaggedQueryKey extends DataTag<unknown, infer TaggedValue> ? TaggedValue : TQueryFnData>(queryKey: MaybeRefDeep<TaggedQueryKey>, updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>, options?: MaybeRefDeep<SetDataOptions>): TData | undefined;
    setQueryData<TQueryFnData, TData = NoUnknown<TQueryFnData>>(queryKey: MaybeRefDeep<QueryKey>, updater: Updater<NoInfer<TData> | undefined, NoInfer<TData> | undefined>, options?: MaybeRefDeep<SetDataOptions>): TData | undefined;
    setQueriesData<TData>(filters: MaybeRefDeep<QueryFilters>, updater: Updater<TData | undefined, TData | undefined>, options?: MaybeRefDeep<SetDataOptions>): Array<[QueryKey, TData | undefined]>;
    getQueryState<TData = unknown, TError = DefaultError>(queryKey: MaybeRefDeep<QueryKey>): QueryState<TData, TError> | undefined;
    removeQueries(filters?: MaybeRefDeep<QueryFilters>): void;
    resetQueries(filters?: MaybeRefDeep<QueryFilters>, options?: MaybeRefDeep<ResetOptions>): Promise<void>;
    cancelQueries(filters?: MaybeRefDeep<QueryFilters>, options?: MaybeRefDeep<CancelOptions>): Promise<void>;
    invalidateQueries(filters?: MaybeRefDeep<InvalidateQueryFilters>, options?: MaybeRefDeep<InvalidateOptions>): Promise<void>;
    refetchQueries(filters?: MaybeRefDeep<RefetchQueryFilters>, options?: MaybeRefDeep<RefetchOptions>): Promise<void>;
    fetchQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<TData>;
    fetchQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = never>(options: MaybeRefDeep<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>): Promise<TData>;
    prefetchQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>): Promise<void>;
    prefetchQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: MaybeRefDeep<FetchQueryOptions<TQueryFnData, TError, TData, TQueryKey>>): Promise<void>;
    fetchInfiniteQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<InfiniteData<TData, TPageParam>>;
    fetchInfiniteQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: MaybeRefDeep<FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>): Promise<InfiniteData<TData, TPageParam>>;
    prefetchInfiniteQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): Promise<void>;
    prefetchInfiniteQuery<TQueryFnData, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown>(options: MaybeRefDeep<FetchInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>): Promise<void>;
    setDefaultOptions(options: MaybeRefDeep<DefaultOptions>): void;
    setQueryDefaults(queryKey: MaybeRefDeep<QueryKey>, options: MaybeRefDeep<Omit<QueryObserverOptions<unknown, any, any, any>, 'queryKey'>>): void;
    getQueryDefaults(queryKey: MaybeRefDeep<QueryKey>): QueryObserverOptions<any, any, any, any, any>;
    setMutationDefaults(mutationKey: MaybeRefDeep<MutationKey>, options: MaybeRefDeep<MutationObserverOptions<any, any, any, any>>): void;
    getMutationDefaults(mutationKey: MaybeRefDeep<MutationKey>): MutationObserverOptions<any, any, any, any>;
}

export { QueryClient };
