import type { ServeOptions, Server } from "../../base.js"; type DenoRequestHandler = (request: Request) => Promise | Response; export interface DenoNativeHttpServer { readonly addr: unknown; readonly finished: Promise; shutdown(): Promise; } export interface DenoServeHandlerInfo { readonly remoteAddr?: { readonly transport?: unknown; readonly hostname?: unknown; readonly port?: unknown; }; } export interface DenoServeRuntime { serve(options: { readonly port: number; readonly hostname: string; readonly signal: AbortSignal; readonly handler: (request: Request, info?: DenoServeHandlerInfo) => Promise; readonly onListen: (address: { hostname: string; port: number; }) => void; }): DenoNativeHttpServer; } export declare class DenoServer implements Server { private readonly nativeServer; private readonly boundAddress; private readonly controller; private readonly servingSignal?; private stopped; private stopPromise; private abortListener; constructor(nativeServer: DenoNativeHttpServer, boundAddress: { hostname: string; port: number; }, controller: AbortController, servingSignal?: AbortSignal | undefined); stop(): Promise; get addr(): { hostname: string; port: number; }; private removeAbortListener; } export declare function createDenoServerWithRuntime(runtime: DenoServeRuntime, handler: DenoRequestHandler, options?: ServeOptions): Promise; export declare function createDenoServer(handler: DenoRequestHandler, options?: ServeOptions): Promise; export {}; //# sourceMappingURL=http-server.d.ts.map