title: constructor provides no match for signature new
body: <p>i have a &quot;compilation&quot; problem in this case :</p>
  <pre><code>interface IDataObjectConstructor {
      new (objJSON?: any): myDataObject;
  }
  
  class myDataObject implements IDataObjectConstructor {
      constructor(objJSON: any = null) {
          for (var prop in objJSON) {
              this[prop] = objJSON[prop];
          }
      }
  }
  </code></pre>
  <p>it say :</p>
  <blockquote>
  <p>class 'myDataObject' incorrectly implements interface 'IDataObjectConstructor'.</p>
  <p>Type 'myDataObject' provides no match for signature 'new (objJSON?: any) : myDataObject'</p>
  </blockquote>
  <p>Finally i want to use this object like this :</p>
  <pre><code>class viewModelList&lt;T extends myDataObject&gt;{
      item: T;
      constructor(itemType: T) { this.item = itemType; }
  
      itemBuilder(json?) { return new this.item(json); }
  }
  
  class derivedDataObject extends myDataObject{
      constructor(objJSON: any = null) { super(objJSON); }
  }
  
  class derivedViewModelList extends viewModelList&lt;derivedDataObject&gt;{
  
      constructor() { super(derivedDataObject); }
  }
  
  let oManager = new derivedViewModelList();
  </code></pre>