import { type MutationObserverOptions, type MutationObserverResult, type QueryClient, type QueryObserverOptions, type QueryObserverResult } from "@tanstack/query-core"; /** Options for the Solid binding: a plain object or a reactive getter. */ export type SolidQueryOptions = QueryObserverOptions | (() => QueryObserverOptions); /** * Solid primitive for a cached query, backed by TanStack Query Core. * * Returns a reactive {@link QueryObserverResult} store — read `query.data`, * `query.isPending`, `query.isError`, `query.status`, etc. directly. Pass a * getter (`() => ({ queryKey, queryFn })`) to react to key changes. * * Call it inside a component or `createRoot` so `onCleanup` disposes the observer. * * @param options - TanStack query options, or a getter returning them. * @param client - Optional {@link QueryClient} (defaults to the shared singleton). * @returns A reactive {@link QueryObserverResult} store. * * @example * ```tsx * import { Show } from "solid-js"; * import { useQuery, useSafeQueryFn } from "katanakit-js/adapters/solid"; * import { useGetApi } from "katanakit-js"; * * function Pokemon() { * const query = useQuery(() => ({ * queryKey: ["pokemon", 25], * queryFn: useSafeQueryFn(() => useGetApi("pokeapi", "pokemonById", { params: { id: 25 } })), * })); * return ( * Loading…}> *
{query.data?.name}
*
* ); * } * ``` */ export declare function useQuery(options: SolidQueryOptions, client?: QueryClient): QueryObserverResult; /** * Solid primitive for a mutation, backed by TanStack Query Core. * * @param options - TanStack mutation options, or a getter returning them. * @param client - Optional {@link QueryClient} (defaults to the shared singleton). * @returns A reactive {@link MutationObserverResult} store. * * @example * ```tsx * import { useMutation, useQueryClient } from "katanakit-js/adapters/solid"; * import { usePost } from "katanakit-js"; * * function CreateUser() { * const qc = useQueryClient(); * const mutation = useMutation(() => ({ * mutationFn: (name: string) => usePost("api", "createUser", { name }), * onSuccess: () => qc.invalidateQueries({ queryKey: ["users"] }), * })); * return ; * } * ``` */ export declare function useMutation(options: MutationObserverOptions | (() => MutationObserverOptions), client?: QueryClient): MutationObserverResult; //# sourceMappingURL=query.d.ts.map