import type * as http from "node:http"; import type * as stream from "node:stream"; import type * as buffer from "node:buffer"; export type HttpServerOptions = { listener: Listener; timeout?: number; transmuters?: Transmuter[]; }; export type Listener = (request: http.IncomingMessage, response: http.ServerResponse) => (void | Promise); export declare const asListener: (l: L) => L; export type Transmuter = (listener: http.RequestListener) => http.RequestListener; export declare const asTransmuter: (tm: Tm) => Tm; export type ResponseData = { code: number; headers: Record; body: string | ArrayBuffer | null; }; export type Responder = (request: http.IncomingMessage) => Promise; export type Upgrader = (request: http.IncomingMessage, socket: stream.Duplex, head: buffer.Buffer) => void;