diff --git a/jwt-decode/jwt-decode-tests.ts b/jwt-decode/jwt-decode-tests.ts
new file mode 100644
index 0000000000..66d639b409
--- /dev/null
+++ b/jwt-decode/jwt-decode-tests.ts
@@ -0,0 +1,12 @@
+ ///
+import jwtDecode = require('jwt-decode');
+
+let token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmb28iOiJiYXIiLCJleHAiOjEzOTMyODY4OTMsImlhdCI6MTM5MzI2ODg5M30.4-iaDojEVl0pJQMjrbM1EzUIfAZgsbK_kgnVyVxFSVo";
+
+interface TokenDto {
+ foo: string;
+ exp: number;
+ iat: number;
+}
+
+let decodedToken = jwtDecode(token) as TokenDto;
diff --git a/jwt-decode/jwt-decode.d.ts b/jwt-decode/jwt-decode.d.ts
new file mode 100644
index 0000000000..67d7aac163
--- /dev/null
+++ b/jwt-decode/jwt-decode.d.ts
@@ -0,0 +1,16 @@
+// Type definitions for jwt-decode v1.4.0
+// Project: https://github.com/auth0/jwt-decode
+// Definitions by: Giedrius Grabauskas
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+
+declare module JwtDecode {
+ interface JwtDecodeStatic {
+ (token: string): any;
+ }
+}
+
+declare module 'jwt-decode' {
+ var jwtDecode: JwtDecode.JwtDecodeStatic;
+ export = jwtDecode;
+}