import {createStore, combineReducers, compose, applyMiddleware} from "redux"; declare global { /* tslint:disable:interface-name */ interface Window { __REDUX_DEVTOOLS_EXTENSION_COMPOSE__: any } } .... const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; export default createStore<IRootState,IRootAction,{},{}>( rootReducer, composeEnhancers( applyMiddleware(logger) ) );