title: Typescript declaration files contain class definitions with no member implementations
body: <p>When I look at the Backbone declaration file I see this:</p>
  
  <pre><code>export class Router extends Events {
      ...
      constructor (options?: RouterOptions);
      initialize (options?: RouterOptions);
      ...
  }
  </code></pre>
  
  <p>and other places where a class has method definitions with no implementations. I thought this syntax was reserved for interfaces. The compiler lets this pass in the declaration file but not in my own ts files. </p>
  
  <p>Is there a difference between the compilation rules for <em>.d.ts</em> vs <em>.ts</em> extensions? If so, how should these types of classes be used differently from interfaces?</p>