import { QueryKey, UseSuspenseQueryOptions, UseSuspenseQueryResult } from "@tanstack/react-query";
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
import { ReactNode } from "react";

//#region src/SuspenseQuery.d.ts
/**
 * We provide these components to clearly express what causes suspense at the same depth.
 * `<SuspenseQuery/>` serves to make `useSuspenseQuery` easier to use in jsx.
 * @see {@link https://suspensive.org/docs/react-query/SuspenseQuery Suspensive Docs}
 * @example
 * ```tsx
 * import { SuspenseQuery } from '@suspensive/react-query'
 *
 * // You can use QueryOptions as props.
 * <SuspenseQuery {...queryOptions()}>
 *   {({ data, isLoading }) => {
 *     return <></>
 *   }
 * </SuspenseQuery>
 * ```
 */
declare const SuspenseQuery: <TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>({
  children,
  ...options
}: UseSuspenseQueryOptions<TQueryFnData, TError, TData, TQueryKey> & {
  children: (queryResult: UseSuspenseQueryResult<TData, TError>) => ReactNode;
}) => _$react_jsx_runtime0.JSX.Element;
//#endregion
export { SuspenseQuery };
//# sourceMappingURL=SuspenseQuery.d.mts.map