title: How to convert new SomeFunction() syntax to TypeScript?
body: <p>When attempting to convert a simple JS file to TS with implicit "any" disabled, I get this error:</p>
  
  <blockquote>
    <p>error TS7009: 'new' expression, which lacks a constructor signature,
    implicitly has an 'any' type.</p>
  </blockquote>
  
  <pre><code>interface Logger {
      new ():any;
      //():any; // "Callable" syntax. same error.
      //new ():LoggerInstance; //Same error.
  }
  interface LoggerInstance {
  }
  
  function Logger(): void {
  }
  
  
  var defaultLogger: LoggerInstance = new Logger();//error TS7009
  //var defaultLogger: LoggerInstance = &lt;any&gt;new Logger();//same error
  //var defaultLogger: LoggerInstance = &lt;LoggerInstance &gt;new Logger();//same error
  </code></pre>
  
  <p>I don't see how to do this without converting the Logger function into a class.</p>
  
  <p>Without implicit any disabled, the typescript compiler was making any suggestions for improvement, so I'd like to leave that setting on.</p>
  
  <p><strong>Update</strong>: If I remove "new" from the Logger interface and then cast the result of new Logger(...), got it to compile in the full file, but in my smaller test example, I continue to get the same error.</p>
  
  <p><strong>Update 2</strong> Okay, I think what happen is the error warnings go away when the plugin that red-underlines syntax errors crashes. I'm thinking that this style of object creation must be forbidden when "implicit any" is disabled.</p>