diff --git a/redux-immutable-state-invariant/redux-immutable-state-invariant-tests.ts b/redux-immutable-state-invariant/redux-immutable-state-invariant-tests.ts
new file mode 100755
index 000000000..605c49e9f
--- /dev/null
+++ b/redux-immutable-state-invariant/redux-immutable-state-invariant-tests.ts
@@ -0,0 +1,6 @@
+///
+
+import { applyMiddleware } from "redux";
+import * as immutableStateInvariantMiddleware from "redux-immutable-state-invariant";
+
+applyMiddleware(immutableStateInvariantMiddleware());
diff --git a/redux-immutable-state-invariant/redux-immutable-state-invariant.d.ts b/redux-immutable-state-invariant/redux-immutable-state-invariant.d.ts
new file mode 100755
index 000000000..9687dd370
--- /dev/null
+++ b/redux-immutable-state-invariant/redux-immutable-state-invariant.d.ts
@@ -0,0 +1,13 @@
+// Type definitions for react-router-redux v1.2.0
+// Project: https://github.com/leoasis/redux-immutable-state-invariant
+// Definitions by: Remo H. Jansen
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module "redux-immutable-state-invariant" {
+ type isImmutableDefault = (value: any) => boolean;
+ type immutableStateInvariantMiddlewareInterface = (isImmutable?: isImmutableDefault) => Redux.Middleware;
+ let immutableStateInvariantMiddleware: immutableStateInvariantMiddlewareInterface;
+ export = immutableStateInvariantMiddleware;
+}