import { CreateHandlerMap, HandlerMap, InferActionFromHandlerMap, InferNextStateFromHandlerMap } from './create-handler-map';
/**
 * Reducer factory
 * @description combines multiple handler map into single reducer
 * @example
 * const counter = createReducer(0, handleAction => [
 *   handleAction(increment, state => state + 1),
 *   handleAction(decrement, state => state - 1),
 * ])
 */
export declare function createReducer<TPrevState, THandlerMap extends HandlerMap<TPrevState, any, any>>(defaultState: TPrevState, handlerMapsCreator: (handle: CreateHandlerMap<TPrevState>) => THandlerMap[]): (state: TPrevState | undefined, action: {
    type: string;
} | InferActionFromHandlerMap<THandlerMap>) => InferNextStateFromHandlerMap<THandlerMap>;
