diff --git a/express-useragent/express-useragent-tests.ts b/express-useragent/express-useragent-tests.ts
new file mode 100644
index 000000000..b4d613d8b
--- /dev/null
+++ b/express-useragent/express-useragent-tests.ts
@@ -0,0 +1,29 @@
+
+///
+///
+
+import express = require("express");
+import useragent = require("express-useragent");
+
+var app = express();
+app.use(useragent.express());
+app.get("/", function(req, res) {
+ var userAgentString =
+ "isMobile:" + req.useragent.isMobile + "," +
+ "isDesktop:" + req.useragent.isDesktop + "," +
+ "isBot:" + req.useragent.isDesktop + "," +
+ "browser:" + req.useragent.isDesktop + "," +
+ "version:" + req.useragent.isDesktop + "," +
+ "os:" + req.useragent.isDesktop + "," +
+ "platform:" + req.useragent.isDesktop + "," +
+ "source :" + req.useragent.isDesktop;
+
+ res.end(userAgentString);
+});
+
+app.get("/parse", function(req, res) {
+ var source = req.headers['user-agent'],
+ ua = useragent.parse(source);
+ res.writeHead(200, {'Content-Type': 'text/plain'});
+ res.end(JSON.stringify(ua));
+});
diff --git a/express-useragent/express-useragent.d.ts b/express-useragent/express-useragent.d.ts
new file mode 100644
index 000000000..4ea3d91d7
--- /dev/null
+++ b/express-useragent/express-useragent.d.ts
@@ -0,0 +1,68 @@
+// Type definitions for express-useragent 0.2.4
+// Project: https://www.npmjs.org/package/express-useragent
+// Definitions by: Isman Usoh
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+///
+
+declare namespace Express {
+ interface ExpressUserAgent {
+ isMobile: boolean;
+ isTablet: boolean;
+ isiPad: boolean;
+ isiPod: boolean;
+ isiPhone: boolean;
+ isAndroid: boolean;
+ isBlackberry: boolean;
+ isOpera: boolean;
+ isIE: boolean;
+ isEdge: boolean;
+ isIECompatibilityMode: boolean;
+ isSafari: boolean;
+ isFirefox: boolean;
+ isWebkit: boolean;
+ isChrome: boolean;
+ isKonqueror: boolean;
+ isOmniWeb: boolean;
+ isSeaMonkey: boolean;
+ isFlock: boolean;
+ isAmaya: boolean;
+ isEpiphany: boolean;
+ isDesktop: boolean;
+ isWindows: boolean;
+ isWindowsPhone: boolean;
+ isLinux: boolean;
+ isLinux64: boolean;
+ isMac: boolean;
+ isChromeOS: boolean;
+ isBada: boolean;
+ isSamsung: boolean;
+ isRaspberry: boolean;
+ isBot: boolean;
+ isCurl: boolean;
+ isAndroidTablet: boolean;
+ isWinJs: boolean;
+ isKindleFire: boolean;
+ isSilk: boolean;
+ isCaptive: boolean;
+ isSmartTV: boolean;
+ silkAccelerated: boolean;
+ browser: string;
+ version: string;
+ os: string;
+ platform: string;
+ geoIp: any;
+ source: string;
+ }
+
+ interface Request {
+ useragent?: ExpressUserAgent;
+ }
+}
+
+declare module "express-useragent" {
+ import express = require("express");
+
+ export function parse(source: string): Express.ExpressUserAgent;
+ export function express(): (req: express.Request, res: express.Response, next?: Function) => void;
+}