constructor provides no match for signature new
<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>