title: Explicitly Specifying types for Express' "application, request, response..."
body: <p>I'm working to update a simple NodeJS + ExpressJS app to use TypeScript. I've got it working, but I'm having fits adding some extra data annotations to add extra type checking and code-time autocomplete/IntelliSense in Visual Studio &amp; WebStorm.</p>
  
  <p>I've got the latest <a href="https://github.com/borisyankov/DefinitelyTyped/blob/master/express/express.d.ts" rel="noreferrer">express.d.ts</a> referenced. I've also created the Express app:</p>
  
  <pre><code>var app = express();
  </code></pre>
  
  <p>Everything works... but I can't seem to figure out how to add the type info for <strong>app</strong> for autocomplete assistance when you type something like </p>
  
  <pre><code>app.get('/',function(req,res){});
  </code></pre>
  
  <p>I've tried annotating <strong>app</strong> (and <strong>req</strong> &amp; <strong>res</strong>) using <code>Express.Application</code> (and <code>.Request</code> &amp; <code>.Response</code>) but that isn't resolving. Looking at the type definition I'm getting confused with how the typedef is written creating the internal "e" reference... </p>
  
  <p>Surprised I can't find anyone asking &amp; resolving this since the express.d.ts typedef was updated for ExpressJS 4.0 (previously I found references to <strong>ExpressServer</strong> but that isn't present today.</p>
  
  <p>Ideas?</p>