/// import { IncomingMessage, ServerResponse } from 'http'; import { ListenOptions } from 'net'; import { EventEmitter } from 'events'; export interface IListener extends EventEmitter { protocol: string; on(event: 'request', listener: (request: IncomingMessage, response: ServerResponse) => void): this; listen(port?: number, hostname?: string, backlog?: number, listeningListener?: Function): this; listen(port?: number, hostname?: string, listeningListener?: Function): this; listen(port?: number, backlog?: number, listeningListener?: Function): this; listen(port?: number, listeningListener?: Function): this; listen(path: string, backlog?: number, listeningListener?: Function): this; listen(path: string, listeningListener?: Function): this; listen(options: ListenOptions, listeningListener?: Function): this; listen(handle: any, backlog?: number, listeningListener?: Function): this; listen(handle: any, listeningListener?: Function): this; close(callback?: Function): this; } export declare type ListenerConstructor = new () => IListener;