import type { DescMessage, DescMethodUnary, MessageInitShape, MessageShape } from "@bufbuild/protobuf";
import type { ConnectError, Transport } from "@connectrpc/connect";
import type { ConnectInfiniteQueryOptions, ConnectQueryKey } from "@connectrpc/connect-query-core";
import type { InfiniteData, SkipToken, UseInfiniteQueryOptions as TanStackUseInfiniteQueryOptions, UseInfiniteQueryResult, UseSuspenseInfiniteQueryOptions as TanStackUseSuspenseInfiniteQueryOptions, UseSuspenseInfiniteQueryResult } from "@tanstack/react-query";
/**
 * Options for useInfiniteQuery
 */
export type UseInfiniteQueryOptions<I extends DescMessage, O extends DescMessage, ParamKey extends keyof MessageInitShape<I>> = Omit<TanStackUseInfiniteQueryOptions<MessageShape<O>, ConnectError, InfiniteData<MessageShape<O>>, ConnectQueryKey<O>, MessageInitShape<I>[ParamKey]>, "getNextPageParam" | "initialPageParam" | "queryFn" | "queryKey"> & ConnectInfiniteQueryOptions<I, O, ParamKey> & {
    /** The transport to be used for the fetching. */
    transport?: Transport;
};
/**
 * Query the method provided. Maps to useInfiniteQuery on tanstack/react-query
 */
export declare function useInfiniteQuery<I extends DescMessage, O extends DescMessage, ParamKey extends keyof MessageInitShape<I>>(schema: DescMethodUnary<I, O>, input: SkipToken | (MessageInitShape<I> & Required<Pick<MessageInitShape<I>, ParamKey>>), { transport, pageParamKey, getNextPageParam, ...queryOptions }: UseInfiniteQueryOptions<I, O, ParamKey>): UseInfiniteQueryResult<InfiniteData<MessageShape<O>>, ConnectError>;
/**
 * Options for useSuspenseInfiniteQuery
 */
export type UseSuspenseInfiniteQueryOptions<I extends DescMessage, O extends DescMessage, ParamKey extends keyof MessageInitShape<I>> = Omit<TanStackUseSuspenseInfiniteQueryOptions<MessageShape<O>, ConnectError, InfiniteData<MessageShape<O>>, ConnectQueryKey<O>, MessageInitShape<I>[ParamKey]>, "getNextPageParam" | "initialPageParam" | "queryFn" | "queryKey"> & ConnectInfiniteQueryOptions<I, O, ParamKey> & {
    /** The transport to be used for the fetching. */
    transport?: Transport;
};
/**
 * Query the method provided. Maps to useSuspenseInfiniteQuery on tanstack/react-query
 */
export declare function useSuspenseInfiniteQuery<I extends DescMessage, O extends DescMessage, ParamKey extends keyof MessageInitShape<I>>(schema: DescMethodUnary<I, O>, input: MessageInitShape<I> & Required<Pick<MessageInitShape<I>, ParamKey>>, { transport, pageParamKey, getNextPageParam, headers, ...queryOptions }: UseSuspenseInfiniteQueryOptions<I, O, ParamKey>): UseSuspenseInfiniteQueryResult<InfiniteData<MessageShape<O>>, ConnectError>;
