title: Typescript extend method declaration without reimplementation
body: <p>I have a class which is to be extended by various sub classes. Each sub class doesn't need to reimplement the class methods, but only the declaration to infer proper type check.</p>
  
  <p>As an example:</p>
  
  <pre><code>class QueryBuilder {
      insert&lt;T&gt;(data: T): string {
          return '';
      }   
  }
  
  class User extends QueryBuilder {
      insert&lt;IUser&gt;(data: IUser): string;
  }
  
  interface IUser {
      name: string,
      email: string
  }
  </code></pre>
  
  <p>This way i get the following error:</p>
  
  <pre><code>Function implementation is missing or not immediately following the declaration.
  (method) User.insert&lt;IUser&gt;(data: IUser): string
  </code></pre>
  
  <p>Is there a way to get what i want without having to repeat the implementation for every sub class?</p>