import type { TRPCClientError, TRPCUntypedClient } from '@trpc/client';
import type { AnyProcedure, AnyQueryProcedure, AnyRootConfig, AnyRouter, Filter, inferProcedureInput, inferTransformedProcedureOutput } from '@trpc/server/unstable-core-do-not-import';
import type { TrpcQueryOptionsForUseQueries, TrpcQueryOptionsForUseSuspenseQueries } from '../../internals/useQueries';
type GetQueryOptions<TConfig extends AnyRootConfig, TProcedure extends AnyProcedure> = <TData = inferTransformedProcedureOutput<TConfig, TProcedure>>(input: inferProcedureInput<TProcedure>, opts?: TrpcQueryOptionsForUseQueries<inferTransformedProcedureOutput<TConfig, TProcedure>, TData, TRPCClientError<TConfig>>) => TrpcQueryOptionsForUseQueries<inferTransformedProcedureOutput<TConfig, TProcedure>, TData, TRPCClientError<TConfig>>;
/**
 * @internal
 */
export type UseQueriesProcedureRecord<TRouter extends AnyRouter> = {
    [TKey in keyof Filter<TRouter['_def']['record'], AnyQueryProcedure | AnyRouter>]: TRouter['_def']['record'][TKey] extends AnyRouter ? UseQueriesProcedureRecord<TRouter['_def']['record'][TKey]> : GetQueryOptions<TRouter['_def']['_config'], TRouter['_def']['record'][TKey]>;
};
type GetSuspenseQueryOptions<TConfig extends AnyRootConfig, TProcedure extends AnyProcedure> = <TData = inferTransformedProcedureOutput<TConfig, TProcedure>>(input: inferProcedureInput<TProcedure>, opts?: TrpcQueryOptionsForUseSuspenseQueries<inferTransformedProcedureOutput<TConfig, TProcedure>, TData, TRPCClientError<TConfig>>) => TrpcQueryOptionsForUseSuspenseQueries<inferTransformedProcedureOutput<TConfig, TProcedure>, TData, TRPCClientError<TConfig>>;
/**
 * @internal
 */
export type UseSuspenseQueriesProcedureRecord<TRouter extends AnyRouter> = {
    [TKey in keyof Filter<TRouter['_def']['record'], AnyQueryProcedure | AnyRouter>]: TRouter['_def']['record'][TKey] extends AnyRouter ? UseSuspenseQueriesProcedureRecord<TRouter['_def']['record'][TKey]> : GetSuspenseQueryOptions<TRouter['_def']['_config'], TRouter['_def']['record'][TKey]>;
};
/**
 * Create proxy for `useQueries` options
 * @internal
 */
export declare function createUseQueries<TRouter extends AnyRouter>(client: TRPCUntypedClient<TRouter>): UseQueriesProcedureRecord<TRouter>;
export {};
//# sourceMappingURL=useQueriesProxy.d.ts.map