import * as React from "react";
//#region src/QueryBoundary.d.ts
interface QueryLike<T> {
  data: T | undefined;
  isPending: boolean;
  isError: boolean;
  refetch: () => void;
  isFetching?: boolean;
  isStale?: boolean;
  isPaused?: boolean;
  error?: unknown;
  dataUpdatedAt?: number;
}
interface QueryBoundaryProps<T> {
  query: QueryLike<T>;
  skeleton: React.ReactNode;
  children: (data: T) => React.ReactNode;
  errorFallback?: (retry: () => void, error: unknown) => React.ReactNode;
  staleErrorFallback?: (retry: () => void, error: unknown) => React.ReactNode;
  showRefreshing?: boolean;
}
declare function QueryBoundary<T>({ query, skeleton, children, errorFallback, staleErrorFallback, showRefreshing }: QueryBoundaryProps<T>): React.JSX.Element;
//#endregion
export { QueryBoundary, QueryBoundaryProps, QueryLike };