import { Dispatch, ReducersMapObject, Reducer } from 'redux'; import { MapDispatchToPropsFactory } from 'react-redux'; import { ObjectMap } from '../interfaces/objectMap'; import { CombinedReducersMapObject } from '../interfaces/store'; import { AnyAction } from '../actions/actions'; /** * Схлапывает словарь редьюсеров в один общий редьюсер, который последовательно * прогоняет экшн через все редьюсеры словаря чтобы получить итоговое состояние. * * Работает аналогично оригинальному combineReducers, но добавляет редьюсерам * третий аргумент, через который можно получить текущее состояние store, чтобы иметь * возможность обращаться к веткам других редьюсеров. * * @param reducers Словарь редьюсеров */ export declare function combineReducers(reducers: ReducersMapObject | CombinedReducersMapObject): Reducer; /** * Сравнивает свойства двух объектов и возвращает список строго несовпадающих * TODO: JSDoc * * @param prevProps * @param nextProps * @param ignore */ export declare function shallowCompare(prevProps: ObjectMap, nextProps: ObjectMap, ignore?: string[]): string[]; /** * TODO: JSDoc */ declare class ActionsContext { /** * TODO */ dispatch: Dispatch; /** * TODO */ props: T; } /** * TODO: JSDoc * @param contextCreator * @param actionsCreator */ export declare function createMapDispatchToProps(contextCreator: (props: OwnProps) => ContextProps, actionsCreator: (context: ActionsContext) => Actions): MapDispatchToPropsFactory; export {};