title: 'new' expression, whose target lacks a construct signature in TypeScript
body: <p>We have the following <code>TestComponent.ts</code> TypeScript class:</p>
  
  <pre><code>01: import TestVectorLayer from './TestVectorLayer'
  02: 
  03: export class TestComponent implements OnInit {
  04:   private foo: any;
  05: 
  06:   constructor() { }
  07: 
  08:   const layer = new TestVectorLayer("foo");
  09: }
  </code></pre>
  
  <p>And the following <code>TestVectorLayer.ts</code> function:</p>
  
  <p>Keep in mind that OpenLayer's 3 is using the Google Closure Library, that's why <code>TestVectorLayer</code> is not a TypeScript class.</p>
  
  <pre><code>01: declare let ol: any;
  02:
  03: const TestVectorLayer = function (layerName: string) {
  04:   ...
  05:   console.log(layerName);
  06:
  07:   ol.layer.Image.call(this, opts);
  08: }
  09:
  10: ol.inherits(TestVectorLayer as any, ol.layer.Image as any);
  11:
  12: export default TestVectorLayer; 
  </code></pre>
  
  <p>We're getting the following error:</p>
  
  <pre><code>Error on Line 08 in TestComponent.ts class:
  </code></pre>
  
  <blockquote>
    <p>[ts] 'new' expression, whose target lacks a construct signature, implicitly has an 'any' type.
        import TestVectorLayer</p>
  </blockquote>
  
  <p>The <code>package.json</code> versions of TypeScript:</p>
  
  <p>devDependencies:</p>
  
  <pre><code>"typescript": "~2.2.1"
  </code></pre>