declare module "https" { import * as tls from "tls"; import * as events from "events"; import * as http from "http"; import { URL } from "url"; type ServerOptions = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions; type RequestOptions = http.RequestOptions & tls.SecureContextOptions & { rejectUnauthorized?: boolean; // Defaults to true servername?: string; // SNI TLS Extension }; interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions { rejectUnauthorized?: boolean; maxCachedSessions?: number; } class Agent extends http.Agent { constructor(options?: AgentOptions); options: AgentOptions; } class Server extends tls.Server { constructor(requestListener?: http.RequestListener); constructor(options: ServerOptions, requestListener?: http.RequestListener); setTimeout(callback: () => void): this; setTimeout(msecs?: number, callback?: () => void): this; /** * Limits maximum incoming headers count. If set to 0, no limit will be applied. * @default 2000 * {@link https://nodejs.org/api/http.html#http_server_maxheaderscount} */ maxHeadersCount: number | null; timeout: number; /** * Limit the amount of time the parser will wait to receive the complete HTTP headers. * @default 40000 * {@link https://nodejs.org/api/http.html#http_server_headerstimeout} */ headersTimeout: number; keepAliveTimeout: number; } function createServer(requestListener?: http.RequestListener): Server; function createServer(options: ServerOptions, requestListener?: http.RequestListener): Server; function request(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; function request(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; function get(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest; let globalAgent: Agent; }