jotai
Version:
👻 Next gen state management that will spook you
16 lines (15 loc) • 1.39 kB
TypeScript
import type { QueryKey, QueryObserverOptions } from '@tanstack/query-core';
import type { WritableAtom } from 'jotai';
import type { CreateQueryOptions, GetQueryClient } from './types';
type AtomWithQueryAction = {
type: 'refetch';
};
export interface AtomWithQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey> extends QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey> {
queryKey: TQueryKey;
}
export interface AtomWithQueryOptionsWithEnabled<TQueryFnData, TError, TData, TQueryData, TQueryKey extends QueryKey> extends Omit<AtomWithQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>, 'enabled'> {
enabled: boolean;
}
export declare function atomWithQuery<TQueryFnData, TError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(createQuery: CreateQueryOptions<AtomWithQueryOptionsWithEnabled<TQueryFnData, TError, TData, TQueryData, TQueryKey>>, getQueryClient?: GetQueryClient): WritableAtom<TData | undefined, AtomWithQueryAction>;
export declare function atomWithQuery<TQueryFnData, TError, TData = TQueryFnData, TQueryData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(createQuery: CreateQueryOptions<AtomWithQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>>, getQueryClient?: GetQueryClient): WritableAtom<TData, AtomWithQueryAction>;
export {};