title: Type 'T' is not assignable to type 'Dictionary<string>
body: <p>I'm trying to write the interface for the request in my get route. Can you please help.
  The interface should extend the default request interface but must include my id param.</p>
  
  <p>See the error below:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>{
   "owner": "typescript",
   "code": "2430",
   "severity": 8,
   "message": "Interface 'IGetCustomRequest&lt;T&gt;' incorrectly extends interface 'Request'.\n  Types of property 'params' are incompatible.\n    Type 'T' is not assignable to type 'Dictionary&lt;string&gt;'.",
   "source": "ts",
   "startLineNumber": 17,
   "startColumn": 11,
   "endLineNumber": 17,
   "endColumn": 28
  }</code></pre>
  </div>
  </div>
  </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>import express = require('express');
  
  interface IGetParams {
      id: string
  }
  
  
  interface IGetCustomRequest&lt;T&gt; extends express.Request {
      params: T
  }
  
  var router = require('express').Router();
  
  router.get("/:id", (req: IGetCustomRequest&lt;IGetParams&gt;, res: express.Response) =&gt; {
  
      console.log('sent', req.params)
  
      res.json(`${req.params.id} get params -----------------------`);
  });
  
  module.exports = router; </code></pre>
  </div>
  </div>
  </p>
  
  <p><a href="https://i.stack.imgur.com/g8vsg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/g8vsg.png" alt="enter image description here"></a></p>