diff --git a/react-css-modules/react-css-modules-tests.tsx b/react-css-modules/react-css-modules-tests.tsx
new file mode 100644
index 0000000000..32c78eda1a
--- /dev/null
+++ b/react-css-modules/react-css-modules-tests.tsx
@@ -0,0 +1,47 @@
+///
+///
+
+
+import * as React from 'react';
+import * as CSSModules from 'react-css-modules';
+
+const styles = {};
+
+interface TableProps extends CSSModules.InjectedCSSModuleProps {
+
+}
+
+class Table extends React.Component {
+ render () {
+ const { styles } = this.props;
+
+ return ;
+ }
+}
+
+const TableHOC = CSSModules(Table, styles);
+
+
+
+interface TableDecoratedProps extends CSSModules.InjectedCSSModuleProps {
+
+}
+
+@CSSModules(styles)
+class TableDecorated extends React.Component {
+ render () {
+ const { styles } = this.props;
+
+ return ;
+ }
+}
diff --git a/react-css-modules/react-css-modules.d.ts b/react-css-modules/react-css-modules.d.ts
new file mode 100644
index 0000000000..d8a414d35f
--- /dev/null
+++ b/react-css-modules/react-css-modules.d.ts
@@ -0,0 +1,33 @@
+// Type definitions for react-css-modules 3.7.9
+// Project: https://github.com/gajus/react-css-modules
+// Definitions by: Kostya Esmukov
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+
+declare module 'react-css-modules' {
+
+ interface TypeOptions {
+ allowMultiple?: boolean;
+ errorWhenNotFound?: boolean;
+ }
+
+ type StylesObject = any;
+
+ interface CSSModules {
+ (defaultStyles: StylesObject, options?: TypeOptions): (Component: C) => C;
+ (Component: C, defaultStyles: StylesObject, options?: TypeOptions): C;
+ }
+
+ module CSSModules {
+ // Extend your component's Prop interface with this one to get access to `this.props.styles`
+ //
+ // interface MyComponentProps extends CSSModules.InjectedCSSModuleProps {}
+ interface InjectedCSSModuleProps {
+ styles?: StylesObject;
+ }
+ }
+
+ let CSSModules: CSSModules;
+
+ export = CSSModules;
+}