title: Error "Cannot use 'new' with an expression whose type lacks a call or construct signature." when importing Esri types
body: <p>I feel like there is something really simple that I am missing here. I've got a class that I am building out that uses Esri ArcGIS API, but when I import the type definitions from the <code>arcgis-js-api</code>'s <code>d.ts</code> file, I get the typescript error "Cannot use 'new' with an expression whose type lacks a call or construct signature."</p>
  
  <p>Ex:</p>
  
  <pre><code>import * as IMap from 'esri/Map';
  
  export class Foo {
      bar: (Map: IMap) {
          const map = new Map(); // &lt;-- error here
      }
  }
  </code></pre>
  
  <p>relevant snippets from the <code>d.ts</code> file:</p>
  
  <pre><code>declare namespace __esri {
      /* snip */
      interface Map extends Accessor, LayersMixin {
          allLayers: Collection;
          basemap: Basemap;
          ground: Ground;
      }
  
      interface MapConstructor {
          new(properties?: MapProperties): Map;
      }
  
      export const Map: MapConstructor;
      /* snip */
  }
  
  declare module "esri/Map" {
      import Map = __esri.Map;
      export = Map;
  }
  </code></pre>
  
  <p>Looks like the type definition is correct to me, so what am I doing wrong that would make Typescript think that the <code>IMap</code> type doesn't have a constructor?</p>