|                                           |  | declare module "agentkeepalive" {  import * as http from 'http';  import * as https from 'https';
  interface AgentStatus {    createSocketCount: number,    createSocketErrorCount: number,    closeSocketCount: number,    errorSocketCount: number,    timeoutSocketCount: number,    requestCount: number,    freeSockets: object,    sockets: object,    requests: object,  }
  interface HttpOptions extends http.AgentOptions {    freeSocketKeepAliveTimeout?: number;    timeout?: number;    socketActiveTTL?: number;  }
  interface HttpsOptions extends https.AgentOptions {    freeSocketKeepAliveTimeout?: number;    timeout?: number;    socketActiveTTL?: number;  }
  class internal extends http.Agent {    constructor(opts?: HttpOptions);    readonly statusChanged: boolean;    createSocket(req: http.IncomingMessage, options: http.RequestOptions, cb: Function): void;    getCurrentStatus(): AgentStatus;  }
  namespace internal {    export class HttpsAgent extends internal {      constructor(opts?: HttpsOptions);    }  }
  export = internal;}
 |