import { RequestListener, Server as HttpServer } from "http"; import { Router } from "./middleware/router.js"; import { Request, Response, RouterOptions } from "./types.js"; import { ServerOptions } from "https"; import { Duplex } from "stream"; import { Socket } from "net"; export interface AppOptions extends RouterOptions { onUpgrade?: (req: Request, socket: Duplex, head: Buffer) => Promise | void; serverOptions?: ServerOptions; https?: boolean; } export declare class App extends Router { readonly listener: RequestListener; readonly httpServer: HttpServer; private shouldCloseConnection; connections: { [key: string]: Socket; }; constructor(config?: AppOptions); listenSync(...args: any[]): HttpServer; listen(...args: any[]): Promise>; close(): Promise>; closeSync(cb: (err: Error | undefined) => void): void; } export declare class Server extends App { }