/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 8d58d2bd1914 */ import { RequestOptions } from "../lib/sdks.js"; import { PageIterator } from "../types/operations.js"; import type { DefaultError, InfiniteData, InfiniteQueryPageParamsOptions, OmitKeyof, QueryKey, QueryObserverOptions, SkipToken, UseMutationOptions, UseQueryOptions, UseSuspenseQueryOptions, } from "@tanstack/react-query"; // Reaction to breaking change in 5.80.0 https://github.com/TanStack/query/pull/9224#issuecomment-2934835936 interface UseInfiniteQueryOptions< TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, > extends OmitKeyof< InfiniteQueryObserverOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam >, "suspense" > { /** * Set this to `false` to unsubscribe this observer from updates to the query cache. * Defaults to `true`. */ subscribed?: boolean; } // Reaction to breaking change in 5.80.0 https://github.com/TanStack/query/pull/9224#issuecomment-2934835936 interface InfiniteQueryObserverOptions< TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, > extends QueryObserverOptions< TQueryFnData, TError, TData, InfiniteData, TQueryKey, TPageParam >, InfiniteQueryPageParamsOptions { } // Reaction to breaking change in 5.80.0 https://github.com/TanStack/query/pull/9224#issuecomment-2934835936 interface UseSuspenseInfiniteQueryOptions< TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey, TPageParam = unknown, > extends OmitKeyof< UseInfiniteQueryOptions, "queryFn" | "enabled" | "throwOnError" | "placeholderData" > { queryFn?: Exclude< UseInfiniteQueryOptions< TQueryFnData, TError, TData, TQueryKey, TPageParam >["queryFn"], SkipToken >; } export type TupleToPrefixes = T extends [...infer Prefix, any] ? TupleToPrefixes | T : never; export type QueryHookOptions = & Omit< UseQueryOptions, "queryKey" | "queryFn" | "select" | keyof RequestOptions > & RequestOptions; export type SuspenseQueryHookOptions = & Omit< UseSuspenseQueryOptions, "queryKey" | "queryFn" | "select" | keyof RequestOptions > & RequestOptions; export type InfiniteQueryHookOptions< Data extends PageIterator, Err = Error, > = & Omit< UseInfiniteQueryOptions< Data, Err, InfiniteData, QueryKey, Data["~next"] >, | "queryKey" | "queryFn" | "select" | "getNextPageParam" | "getPreviousPageParam" | "initialPageParam" | keyof RequestOptions > & RequestOptions & { initialPageParam?: Data["~next"] }; export type SuspenseInfiniteQueryHookOptions< Data extends PageIterator, Err = Error, > = & Omit< UseSuspenseInfiniteQueryOptions< Data, Err, InfiniteData, QueryKey, Data["~next"] >, | "queryKey" | "queryFn" | "select" | "getNextPageParam" | "getPreviousPageParam" | "initialPageParam" | keyof RequestOptions > & RequestOptions & { initialPageParam?: Data["~next"] }; export type MutationHookOptions< Data = unknown, Err = Error, Variables = unknown, > = & Omit< UseMutationOptions, "mutationKey" | "mutationFn" | keyof RequestOptions > & RequestOptions; /** * Removes non-serializable properties (functions and symbols) from a PageIterator for SSR hydration. * React Server Components cannot serialize functions or Symbol properties across the server/client boundary. */ export function pageIteratorToJSON( page: T, ): T { const { next: _, ...rest } = page as T & { next?: unknown }; // Symbol properties are copied by spread but can't be serialized for RSC delete (rest as Record)[Symbol.asyncIterator]; return rest as T; }