title: Using `import type` statement to fix circular dependency reference error
body: <p>Let's say I have two files, A.js and B.js. Both need references to each other like this.</p>
  
  <p><em>A.js</em></p>
  
  <pre><code>import { B } from "b"
  
  export class A {
    constructor(public name: string) {}
  }
  
  let b = new B();
  b.print(new A("This is a random name"));
  </code></pre>
  
  <p><em>B.js</em></p>
  
  <pre><code>import { A } from "a"
  
  export class B {
    print(a: A) {
      console.log(a.name);
    }
  }
  </code></pre>
  
  <p>The example above will create a circular reference which currently does not work in the JavaScript runtime I'm using. The file <em>B.js</em> really only need the type information, not the actual export object). I want the type from <em>A.js</em> to get static type checking. Is this possible?</p>