import { DeleteEntitiesAction, FailAction, RequestAction, SaveNothingAction, SavePartialEntitiesAction, SavePartialPatternToEntitiesAction, SavePartialReducerMetadataAction, SaveWholeEntitiesAction, SaveWholeReducerMetadataAction } from '../types/actions.types'; import { Entity, Reducer, ReducerMetadata } from '../types/reducers.types'; /** * Duplicates the state object with shallow copies of the 'data', 'metadata', * and 'requests' props * * @param {Reducer} state - The current state of the reducer * @param { * | RequestAction * | SaveNothingaAction * | SaveWholeReducerMetadataAction * | SavePartialReducerMetadataAction * | SaveWholeEntitiesAction * | SavePartialEntitiesAction * | SavePartialPatternToEntitiesAction * | DeleteEntitiesAction * | FailAction * } action - Action to handle * @returns {Reducer} Duplicated state object */ export declare function duplicateState(state: Reducer, action: RequestAction | SaveNothingAction | SaveWholeReducerMetadataAction | SavePartialReducerMetadataAction | SaveWholeEntitiesAction | SavePartialEntitiesAction | SavePartialPatternToEntitiesAction | DeleteEntitiesAction | FailAction): Reducer; /** * Updates a reducer's props other than the 'data' prop for success and fail * actions. * The function mutates the passed state for two reasons: * 1. Because it is exclusively used by the other handlers in this file, all of * which have already created a copy of the redux state. * 2. To avoid an additional and unnecessary duplication of the redux state, * which could result in a reduction in performance in the application. * * @param {Reducer} newState - A copy of the redux state * @param { * | SaveNothingAction * | SaveWholeReducerMetadataAction * | SavePartialReducerMetadataAction * | SaveWholeEntitiesAction * | SavePartialEntitiesAction * | SavePartialPatternToEntitiesAction * | DeleteEntitiesAction * | FailAction * } action - Success or fail action */ export declare function handleCommonProps(newState: Reducer, action: SaveNothingAction | SaveWholeReducerMetadataAction | SavePartialReducerMetadataAction | SaveWholeEntitiesAction | SavePartialEntitiesAction | SavePartialPatternToEntitiesAction | DeleteEntitiesAction | FailAction): void; /** * Updates a reducer's completed requests cache. That is, removes the oldest * completed requests according to the reducer config's 'successRequestsCache' * and 'failRequestsCache' params. * * @param {Reducer} newState - A copy of the redux state */ export declare function updateCompletedRequestsCache(newState: Reducer): void;