title: What does "... resolves to a non-module entity and cannot be imported using this construct" mean?
body: <p>I have some TypeScript files:</p>
  
  <p><em>MyClass.ts</em></p>
  
  <pre><code>class MyClass {
    constructor() {
    }
  }
  export = MyClass;
  </code></pre>
  
  <p><em>MyFunc.ts</em></p>
  
  <pre><code>function fn() { return 0; }
  export = fn;
  </code></pre>
  
  <p><em>MyConsumer.ts</em></p>
  
  <pre><code>import * as MC from './MyClass';
  import * as fn from './MyFunc';
  fn();
  </code></pre>
  
  <p>This gives me errors when trying to use <code>new</code></p>
  
  <blockquote>
    <p>Module "MyClass" resolves to a non-module entity and cannot be imported using this construct.</p>
  </blockquote>
  
  <p>and when trying to call <code>fn()</code></p>
  
  <blockquote>
    <p>Cannot invoke an expression whose type lacks a call signature.</p>
  </blockquote>
  
  <p>What gives?</p>