import { Route } from './router'; import { Session } from './session'; import { ScreenState } from './screen'; import { ViewState } from './view'; import { DataState, DepthDataState } from './data'; import { AnyAction } from '../actions/actions'; export interface Store { router: Route; session: Session; screen: ScreenState; view: ViewState; data: DataState; depthData: DepthDataState; [reducerName: string]: any; } export declare type CoreReducer = (state: ReducerState, action: AnyAction & ClientActions, store?: Readonly) => ReducerState; export interface ClientReducer { initialState: ReducerState; override?: boolean; reducer: CoreReducer; } export declare type ClientReducersMapObject = { [reducerName in keyof ClientStore]: ClientReducer; }; export declare type CombinedReducersMapObject = { [reducerName in keyof ReducerState]: CoreReducer; };