import type { Options as DevServerOptions } from './dev/next-dev-server'; import type { Options as ServerOptions } from './next-server'; import type { IncomingMessage, ServerResponse } from 'http'; import type { Duplex } from 'stream'; import type { NextUrlWithParsedQuery } from './request-meta'; import './require-hook'; import './node-polyfill-crypto'; import type { default as NextNodeServer } from './next-server'; import type { ServerFields } from './lib/router-utils/setup-dev-bundler'; export type NextServerOptions = Omit & Partial>; export type RequestHandler = (req: IncomingMessage, res: ServerResponse, parsedUrl?: NextUrlWithParsedQuery | undefined) => Promise; export type UpgradeHandler = (req: IncomingMessage, socket: Duplex, head: Buffer) => Promise; declare const SYMBOL_LOAD_CONFIG: unique symbol; interface NextWrapperServer { options: NextServerOptions; hostname: string | undefined; port: number | undefined; getRequestHandler(): RequestHandler; prepare(serverFields?: ServerFields): Promise; setAssetPrefix(assetPrefix: string): void; close(): Promise; getUpgradeHandler(): UpgradeHandler; logError(...args: Parameters): void; render(...args: Parameters): ReturnType; renderToHTML(...args: Parameters): ReturnType; renderError(...args: Parameters): ReturnType; renderErrorToHTML(...args: Parameters): ReturnType; render404(...args: Parameters): ReturnType; } /** The wrapper server used by `next start` */ export declare class NextServer implements NextWrapperServer { private serverPromise?; private server?; private reqHandler?; private reqHandlerPromise?; private preparedAssetPrefix?; options: NextServerOptions; constructor(options: NextServerOptions); get hostname(): string | undefined; get port(): number | undefined; getRequestHandler(): RequestHandler; getUpgradeHandler(): UpgradeHandler; setAssetPrefix(assetPrefix: string): void; logError(...args: Parameters): void; render(...args: Parameters): Promise; renderToHTML(...args: Parameters): Promise; renderError(...args: Parameters): Promise; renderErrorToHTML(...args: Parameters): Promise; render404(...args: Parameters): Promise; prepare(serverFields?: ServerFields): Promise; close(): Promise; private createServer; private [SYMBOL_LOAD_CONFIG]; private getServer; private getServerRequestHandler; } declare function createServer(options: NextServerOptions & { turbo?: boolean; turbopack?: boolean; }): NextWrapperServer; export default createServer;