import { Store as ReduxStore } from 'redux'; /** * custom store for type check * * @interface Store */ export interface Store extends ReduxStore { /** * async reducers * @type {{}} * @memberOf Store */ asyncReducers: {}; /** * inject reducer * @param {{key:string} reducer will used to peek state * @param {Function}} reducer */ injectReducer: (reducer: { key: string; reducer: Function; }) => void; replaceReducer: (reducer: any) => void; } /** * configure store accept an initialState and a rooterReducer params * @param {any} initialState * @param {{key:string,reducer:Function}} asyncReducers * @param {{key:string,reducer:Function}} rooterReducers * @param {any} middlewares middlewares */ declare function configureStore({initialState, asyncReducers, rootReducer, client, middlewares}: { initialState: any; asyncReducers: any; rootReducer: any; client: any; middlewares?: never[]; }): Store<{}>; export default configureStore;