import type { DescMessage, DescMethodUnary, MessageInitShape, MessageShape } from "@bufbuild/protobuf";
import type { ConnectError, Transport } from "@connectrpc/connect";
import type { ConnectQueryKey, SkipToken } from "@connectrpc/connect-query-core";
import type { UseQueryOptions as TanStackUseQueryOptions, UseQueryResult, UseSuspenseQueryOptions as TanStackUseSuspenseQueryOptions, UseSuspenseQueryResult } from "@tanstack/react-query";
/**
 * Options for useQuery
 */
export type UseQueryOptions<O extends DescMessage, SelectOutData = MessageShape<O>> = Omit<TanStackUseQueryOptions<MessageShape<O>, ConnectError, SelectOutData, ConnectQueryKey<O>>, "queryFn" | "queryKey"> & {
    /** The transport to be used for the fetching. */
    transport?: Transport;
};
/**
 * Query the method provided. Maps to useQuery on tanstack/react-query
 */
export declare function useQuery<I extends DescMessage, O extends DescMessage, SelectOutData = MessageShape<O>>(schema: DescMethodUnary<I, O>, input?: SkipToken | MessageInitShape<I>, { transport, ...queryOptions }?: UseQueryOptions<O, SelectOutData>): UseQueryResult<SelectOutData, ConnectError>;
/**
 * Options for useSuspenseQuery
 */
export type UseSuspenseQueryOptions<O extends DescMessage, SelectOutData = 0> = Omit<TanStackUseSuspenseQueryOptions<MessageShape<O>, ConnectError, SelectOutData, ConnectQueryKey<O>>, "queryFn" | "queryKey"> & {
    /** The transport to be used for the fetching. */
    transport?: Transport;
    headers?: HeadersInit;
};
/**
 * Query the method provided. Maps to useSuspenseQuery on tanstack/react-query
 */
export declare function useSuspenseQuery<I extends DescMessage, O extends DescMessage, SelectOutData = MessageShape<O>>(schema: DescMethodUnary<I, O>, input?: MessageInitShape<I>, { transport, headers, ...queryOptions }?: UseSuspenseQueryOptions<O, SelectOutData>): UseSuspenseQueryResult<SelectOutData, ConnectError>;
