import { Action, ActionCreator } from 'typescript-fsa'; declare type AnyAction = Action; interface ReducerBuilder { case(actionCreator: ActionCreator, handler: (draft: State, payload: Payload) => void): ReducerBuilder; reset(actionCreator: ActionCreator): ReducerBuilder; toReducer(): (state: State | undefined, action: AnyAction) => State; } /** * reducerWithImmer({}) * .case(actions.hoge, draft => { * draft.fuga ++; * }) */ export declare function reducerWithImmer(initialState: State): ReducerBuilder; export {};