import { MaybePromise } from "@stryke/types"; import { AnyProcedure, AnyRootTypes, ProcedureType, RouterRecord, inferProcedureInput, inferTransformedProcedureOutput } from "@trpc/server/unstable-core-do-not-import"; import { ReadonlyRequestCookies } from "next/dist/server/web/spec-extension/adapters/request-cookies"; import { AnyTRPCRouter, inferRouterContext } from "@trpc/server"; import { Resolver } from "@trpc/client"; import { FeatureFlags, ResolverDef } from "@trpc/tanstack-react-query"; import { experimental_notFound as notFound, experimental_redirect as redirect } from "@trpc/server/adapters/next-app-dir"; //#region src/server.d.ts type DecorateProcedureServer = TType extends "query" ? { query: Resolver; revalidate: (input?: TDef["input"]) => Promise<{ revalidated: false; error: string; } | { revalidated: true; }>; } : TType extends "mutation" ? { mutate: Resolver; } : TType extends "subscription" ? { subscribe: Resolver; } : never; type NextAppDirDecorateRouterRecord = { [TKey in keyof TRecord]: TRecord[TKey] extends (infer $Value) ? $Value extends AnyProcedure ? DecorateProcedureServer<$Value["_def"]["type"], { input: inferProcedureInput<$Value>; output: inferTransformedProcedureOutput; errorShape: TRoot["errorShape"]; transformer: TRoot["transformer"]; featureFlags: FeatureFlags; }> : $Value extends RouterRecord ? NextAppDirDecorateRouterRecord : never : never; }; /** * This client invokes procedures directly on the server without fetching over HTTP. * * @param cookies - A function that returns the cookies * @param router - The router created by the user * @param createContext - An optional function to generate a context */ declare function createTRPCServer = inferRouterContext>(cookies: () => Promise, router: TRouter, createContext?: () => MaybePromise): NextAppDirDecorateRouterRecord; //#endregion export { DecorateProcedureServer, NextAppDirDecorateRouterRecord, createTRPCServer, notFound, redirect }; //# sourceMappingURL=server.d.cts.map