import { zn as AnyRouter } from "../unstable-core-do-not-import-CzDUc5m2.mjs";
import { c as NodeHTTPHandlerOptions, d as NodeHTTPResponse, l as NodeHTTPRequest, o as NodeHTTPCreateContextFnOptions } from "../index-DVmu6VtT.mjs";
import http from "http";
import * as http2 from "http2";
//#region src/adapters/standalone.d.ts
type StandaloneHandlerOptions<TRouter extends AnyRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse> = NodeHTTPHandlerOptions<TRouter, TRequest, TResponse> & {
  /**
   * The path the router is served at, such as `/trpc/`. It's cut from the
   * start of each request's path.
   * @default '/'
   * @see https://trpc.io/docs/server/adapters/standalone#custom-basePath
   */
  basePath?: string;
};
/** The options of `createHTTPServer` and `createHTTPHandler`. */
export type CreateHTTPHandlerOptions<TRouter extends AnyRouter> = StandaloneHandlerOptions<TRouter, http.IncomingMessage, http.ServerResponse>;
/**
 * What `createContext` gets in the standalone adapter: `req`, `res` and
 * the request's `info`.
 * @see https://trpc.io/docs/server/adapters/standalone#2-use-the-standalone-adapter
 */
export type CreateHTTPContextOptions = NodeHTTPCreateContextFnOptions<http.IncomingMessage, http.ServerResponse>;
/**
 * Creates a Node.js request listener for a router, to use with your own
 * `http.createServer()`.
 * @see https://trpc.io/docs/server/adapters/standalone#adding-a-handler-to-a-custom-http-server
 * @internal
 */
export declare function createHTTPHandler<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): http.RequestListener;
/**
 * Creates a Node.js HTTP server for a router. Call `.listen()` on it.
 * @example
 * ```ts
 * createHTTPServer({ router: appRouter, createContext }).listen(3000);
 * ```
 * @see https://trpc.io/docs/server/adapters/standalone#2-use-the-standalone-adapter
 */
export declare function createHTTPServer<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
/** The options of `createHTTP2Handler`. */
export type CreateHTTP2HandlerOptions<TRouter extends AnyRouter> = StandaloneHandlerOptions<TRouter, http2.Http2ServerRequest, http2.Http2ServerResponse>;
/**
 * What `createContext` gets in the HTTP/2 standalone adapter.
 * @see https://trpc.io/docs/server/adapters/standalone#http2
 */
export type CreateHTTP2ContextOptions = NodeHTTPCreateContextFnOptions<http2.Http2ServerRequest, http2.Http2ServerResponse>;
/**
 * Creates a request listener for a router, to use with Node.js's
 * `http2.createSecureServer()`.
 * @see https://trpc.io/docs/server/adapters/standalone#http2
 */
export declare function createHTTP2Handler(opts: CreateHTTP2HandlerOptions<AnyRouter>): (req: http2.Http2ServerRequest, res: http2.Http2ServerResponse<http2.Http2ServerRequest>) => void;
//#endregion

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