How to reference type of self in Typescript interface (for a IClonable interface)
<p>I need an <code>IClonable</code> interface that defines a <code>clone()</code> member, that returns an instance of the class that implemented it.</p>

<p>If possible, how can I indicate that the return type of <code>clone()</code> will be the same as the class it is called on?</p>

<pre><code>interface IClonable {
    clone(): ???
}
</code></pre>

<p>I know I can do this with generics like below, but that seems overly verbose</p>

<pre><code>interface IClonable&lt;T&gt; {
    clone(): T
}
</code></pre>