title: Typescript error when passing arguments to super class. `A spread argument must either have a tuple type or be passed to a rest parameter (TS2556).`
body: <p>The following gives error TS2556, how do I fix it?</p>
  <pre><code>class Test {
      constructor(x: number) {}
  }
  
  class Test2 extends Test {
      constructor(...args) {
          super(...args); // TS2556
      }
  }
  </code></pre>
  <p>Or if you are using jsdoc with tsc for typechecking:</p>
  <pre class="lang-js prettyprint-override"><code>class Test {
      /**
       * @param {number} x
       */
      constructor(x) {}
  }
  
  class Test2 extends Test {
      constructor(...args) {
          super(...args);
      }
  }
  </code></pre>