diff --git a/express/express.d.ts b/express/express.d.ts
index 7dd170629..0b6323c4e 100644
--- a/express/express.d.ts
+++ b/express/express.d.ts
@@ -12,6 +12,17 @@
///
+
+declare module Express {
+
+ // These open interfaces may be extended in an application-specific manner via declaration merging.
+ // See for example passport.d.ts (https://github.com/borisyankov/DefinitelyTyped/blob/master/passport/passport.d.ts)
+ export interface Request { }
+ export interface Response { }
+ export interface Application { }
+}
+
+
declare module "express" {
import http = require('http');
@@ -229,7 +240,7 @@ declare module "express" {
count: number;
}
- interface Request {
+ interface Request extends Express.Request {
session: Session;
@@ -545,7 +556,7 @@ declare module "express" {
(body: any): Response;
}
- interface Response extends http.ServerResponse {
+ interface Response extends http.ServerResponse, Express.Response {
/**
* Set status `code`.
*
@@ -893,7 +904,7 @@ declare module "express" {
(req: Request, res: Response, next: Function): any;
}
- interface Application extends IRouter {
+ interface Application extends IRouter, Express.Application {
/**
* Initialize the server.
*