diff --git a/types/redux-infinite-scroll/index.d.ts b/types/redux-infinite-scroll/index.d.ts
new file mode 100644
index 0000000000..1f621ec8e4
--- /dev/null
+++ b/types/redux-infinite-scroll/index.d.ts
@@ -0,0 +1,25 @@
+// Type definitions for redux-infinite-scroll 1.0
+// Project: https://github.com/RealScout/redux-infinite-scroll
+// Definitions by: Tony Nikolov
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+// TypeScript Version: 2.3
+
+import { Component, HTMLProps } from "react";
+
+interface InfiniteScrollerProps {
+ elementIsScrollable?: boolean;
+ containerHeight?: number | string;
+ threshold?: number;
+ hasMore?: boolean;
+ loadingMore?: boolean;
+ loader?: any;
+ showLoader?: boolean;
+ loadMore(): void;
+ items?: JSX.Element[];
+ children?: JSX.Element[];
+ holderType?: string;
+}
+
+declare class InfiniteScoller extends Component, {}> {}
+
+export default InfiniteScoller;
diff --git a/types/redux-infinite-scroll/redux-infinite-scroll-tests.tsx b/types/redux-infinite-scroll/redux-infinite-scroll-tests.tsx
new file mode 100644
index 0000000000..b092c9a42d
--- /dev/null
+++ b/types/redux-infinite-scroll/redux-infinite-scroll-tests.tsx
@@ -0,0 +1,49 @@
+import * as React from 'react';
+import * as ReactDOM from 'react-dom';
+import InfiniteScoller from "redux-infinite-scroll";
+
+class App extends React.Component {
+ state = {
+ numOfItems: 40,
+ loadingMore: false
+ };
+
+ _createData(numOfItems = this.state.numOfItems) {
+ const data: JSX.Element[] = [];
+ for (let i = 0; i < numOfItems; i++) {
+ data.push(
+ Item #{i}
+ );
+ }
+
+ return data;
+ }
+
+ _loadMore() {
+ console.log('loading More');
+ this.setState({ loadingMore: true }, () => {
+ // CB emulates an ajax request
+ this.setState({
+ numOfItems: this.state.numOfItems + 40,
+ loadingMore: false
+ });
+ });
+ }
+
+ render() {
+ return (
+
+ );
+ }
+}
+
+ReactDOM.render(, document.getElementById('app'));
diff --git a/types/redux-infinite-scroll/tsconfig.json b/types/redux-infinite-scroll/tsconfig.json
new file mode 100644
index 0000000000..4e78fdeaef
--- /dev/null
+++ b/types/redux-infinite-scroll/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "lib": [ "es6", "dom" ],
+ "noImplicitAny": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "strictNullChecks": true,
+ "baseUrl": "../",
+ "jsx": "react",
+ "typeRoots": [
+ "../"
+ ],
+ "types": [],
+ "noEmit": true,
+ "forceConsistentCasingInFileNames": true
+ },
+ "files": [
+ "index.d.ts",
+ "redux-infinite-scroll-tests.tsx"
+
+ ]
+}
\ No newline at end of file
diff --git a/types/redux-infinite-scroll/tslint.json b/types/redux-infinite-scroll/tslint.json
new file mode 100644
index 0000000000..2750cc0197
--- /dev/null
+++ b/types/redux-infinite-scroll/tslint.json
@@ -0,0 +1 @@
+{ "extends": "dtslint/dt.json" }
\ No newline at end of file