import { type MutationObserverOptions, type MutationObserverResult, type QueryClient, type QueryObserverOptions, type QueryObserverResult } from "@tanstack/query-core"; /** * React hook for a cached query, backed by TanStack Query Core. * * Returns TanStack's native {@link QueryObserverResult} * (`{ data, error, isPending, isFetching, isSuccess, isError, status, fetchStatus, refetch, … }`), * with stale-while-revalidate, focus/reconnect refetch, retries and garbage * collection handled by the engine. * * `client` is captured for the component's lifetime — pass a stable instance. * * @param options - TanStack query options (`queryKey`, `queryFn`, `staleTime`, …). * @param client - Optional {@link QueryClient} (defaults to the shared singleton). * @returns The TanStack {@link QueryObserverResult}. * * @example * ```tsx * import { useQuery, useSafeQueryFn } from "katanakit-js/adapters/react"; * import { useGetApi } from "katanakit-js"; * * function Pokemon({ id }: { id: number }) { * const { data, isPending, isError, error } = useQuery({ * queryKey: ["pokemon", id], * queryFn: useSafeQueryFn(() => useGetApi("pokeapi", "pokemonById", { params: { id } })), * }); * if (isPending) return
Loading…
; * if (isError) return
{error.message}
; * return
{data?.name}
; * } * ``` */ export declare function useQuery(options: QueryObserverOptions, client?: QueryClient): QueryObserverResult; /** * React hook for a mutation, backed by TanStack Query Core. * * Returns TanStack's native {@link MutationObserverResult} * (`{ data, error, variables, isPending, isError, isSuccess, status, mutate, reset }`). * * @param options - TanStack mutation options (`mutationFn`, `onSuccess`, …). * @param client - Optional {@link QueryClient} (defaults to the shared singleton). * @returns The TanStack {@link MutationObserverResult}. * * @example * ```tsx * import { useMutation, useQueryClient } from "katanakit-js/adapters/react"; * import { usePost } from "katanakit-js"; * * function CreateUser() { * const qc = useQueryClient(); * const { mutate, isPending } = useMutation({ * mutationFn: (name: string) => usePost("api", "createUser", { name }), * onSuccess: () => qc.invalidateQueries({ queryKey: ["users"] }), * }); * return ; * } * ``` */ export declare function useMutation(options: MutationObserverOptions, client?: QueryClient): MutationObserverResult; //# sourceMappingURL=query.d.ts.map