@trpc/react-query
Version:
31 lines • 2.03 kB
TypeScript
import type { DehydratedState, DehydrateOptions, QueryClient } from '@tanstack/react-query';
import type { TRPCClient } from '@trpc/client';
import { TRPCUntypedClient } from '@trpc/client';
import { type TransformerOptions } from '@trpc/client/unstable-internals';
import type { AnyQueryProcedure, AnyRootTypes, AnyRouter, inferClientTypes, inferRouterContext, ProtectedIntersection, RouterRecord } from '@trpc/server/unstable-core-do-not-import';
import type { CreateTRPCReactQueryClientConfig, DecorateQueryProcedure } from '../shared';
type CreateSSGHelpersInternal<TRouter extends AnyRouter> = {
router: TRouter;
ctx: inferRouterContext<TRouter>;
} & TransformerOptions<inferClientTypes<TRouter>>;
interface CreateSSGHelpersExternal<TRouter extends AnyRouter> {
client: TRPCClient<TRouter> | TRPCUntypedClient<TRouter>;
}
type CreateServerSideHelpersOptions<TRouter extends AnyRouter> = CreateTRPCReactQueryClientConfig & (CreateSSGHelpersExternal<TRouter> | CreateSSGHelpersInternal<TRouter>);
type SSGFns = 'queryOptions' | 'infiniteQueryOptions' | 'fetch' | 'fetchInfinite' | 'prefetch' | 'prefetchInfinite';
/**
* @internal
*/
type DecoratedProcedureSSGRecord<TRoot extends AnyRootTypes, TRecord extends RouterRecord> = {
[TKey in keyof TRecord]: TRecord[TKey] extends infer $Value ? $Value extends AnyQueryProcedure ? Pick<DecorateQueryProcedure<TRoot, $Value>, SSGFns> : $Value extends RouterRecord ? DecoratedProcedureSSGRecord<TRoot, $Value> : never : never;
};
/**
* Create functions you can use for server-side rendering / static generation
* @see https://trpc.io/docs/v11/client/nextjs/server-side-helpers
*/
export declare function createServerSideHelpers<TRouter extends AnyRouter>(opts: CreateServerSideHelpersOptions<TRouter>): ProtectedIntersection<{
queryClient: QueryClient;
dehydrate: (opts?: DehydrateOptions) => DehydratedState;
}, DecoratedProcedureSSGRecord<TRouter["_def"]["_config"]["$types"], TRouter["_def"]["record"]>>;
export {};
//# sourceMappingURL=ssgProxy.d.ts.map