import { Ln as TRPCRequestInfo, jn as HTTPBaseHandlerOptions, rr as inferRouterContext, ur as CreateContextCallback, zn as AnyRouter } from "../../unstable-core-do-not-import-CzDUc5m2.mjs";
//#region src/adapters/fetch/types.d.ts
/**
 * What `createContext` gets in the Fetch adapter.
 * @see https://trpc.io/docs/server/adapters/fetch#create-the-context
 */
export type FetchCreateContextFnOptions = {
  req: Request;
  /** The response's headers, which you can add to, such as to set cookies. */
  resHeaders: Headers;
  info: TRPCRequestInfo;
};
/** The `createContext` function the Fetch adapter takes. */
export type FetchCreateContextFn<TRouter extends AnyRouter> = (opts: FetchCreateContextFnOptions) => inferRouterContext<TRouter> | Promise<inferRouterContext<TRouter>>;
/** The Fetch adapter's `createContext` option. */
export type FetchCreateContextOption<TRouter extends AnyRouter> = CreateContextCallback<inferRouterContext<TRouter>, FetchCreateContextFn<TRouter>>;
/** The options of the Fetch adapter. */
export type FetchHandlerOptions<TRouter extends AnyRouter> = FetchCreateContextOption<TRouter> & HTTPBaseHandlerOptions<TRouter, Request> & {
  req: Request;
  /** The path the router is served at, such as `/trpc`. */
  endpoint: string;
};
/**
 * The options of `fetchRequestHandler`.
 * @see https://trpc.io/docs/server/adapters/fetch
 */
export type FetchHandlerRequestOptions<TRouter extends AnyRouter> = HTTPBaseHandlerOptions<TRouter, Request> & CreateContextCallback<inferRouterContext<TRouter>, FetchCreateContextFn<TRouter>> & {
  req: Request;
  /** The path the router is served at, such as `/trpc`. */
  endpoint: string;
};
//#endregion
//#region src/adapters/fetch/fetchRequestHandler.d.ts
/**
 * Handles a Fetch API `Request` for a router and returns its `Response`.
 * Works in edge runtimes, Deno, Bun, Cloudflare Workers and Next.js route
 * handlers.
 * @example
 * ```ts
 * const handler = (req: Request) =>
 *   fetchRequestHandler({ endpoint: '/trpc', req, router: appRouter });
 * ```
 * @see https://trpc.io/docs/server/adapters/fetch
 */
export declare function fetchRequestHandler<TRouter extends AnyRouter>(opts: FetchHandlerRequestOptions<TRouter>): Promise<Response>;
//#endregion

//# sourceMappingURL=index.d.mts.map