diff --git a/i18next-express-middleware/i18next-express-middleware-tests.ts b/i18next-express-middleware/i18next-express-middleware-tests.ts
new file mode 100644
index 000000000..54e47b03c
--- /dev/null
+++ b/i18next-express-middleware/i18next-express-middleware-tests.ts
@@ -0,0 +1,5 @@
+///
+
+//import express = require("express");
+//import i18next = require("i18next");
+import middleware = require("i18next-express-middleware");
diff --git a/i18next-express-middleware/i18next-express-middleware.d.ts b/i18next-express-middleware/i18next-express-middleware.d.ts
new file mode 100644
index 000000000..ad9f0a95d
--- /dev/null
+++ b/i18next-express-middleware/i18next-express-middleware.d.ts
@@ -0,0 +1,33 @@
+// Type definitions for i18next-express-middleware
+// Project: http://i18next.com/
+// Definitions by: Cyril Schumacher
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module "i18next-express-middleware" {
+ import express = require("express");
+ export interface i18nextExpressMiddleware {
+ LanguageDetector(): express.Handler;
+ missingKeyHandler(): express.Handler;
+ }
+
+ interface LanguageDetectorOptions {
+ caches: boolean;
+ cookieDomain: string;
+ cookieExpirationDate: Date;
+ lookupCookie: string;
+ lookupFromPathIndex: number;
+ lookupQuerystring: string;
+ lookupSession: string;
+ order: Array;
+ }
+
+ export class LanguageDetector {
+ constructor(services?: any, options?: Object, allOptions?: Object);
+ addDetector(detector: any): void;
+ cacheUserLanguage(req: express.Request, res: express.Response, detectionOrder: any): void;
+ detect(req: express.Request, res: express.Response, detectionOrder: any): void;
+ init(services: any, options?: Object, allOptions?: Object): void;
+ }
+}