title: How to declare an interface with static method?
body: <p>I want to declare an alternative constructor in interface - <code>baz</code> in <code>IFoo</code>, but seems like it's impossible in TypeScript:</p>
  
  <pre><code>interface IFoo {
      bar(): boolean;
      static baz(value): IFoo; 
  }
  
  class Foo implements IFoo {
      constructor(private qux) {}
      bar(): boolean {
          return this.qux; 
      }
      static baz(value): IFoo {
          return new Foo(value);
      }
  }
  </code></pre>
  
  <p>What is the way to do that and have a proper type checking for <code>baz</code>?</p>