import { Action, ActionCreator, AnyAction } from "typescript-fsa"; export interface ReducerBuilder { case

(actionCreator: ActionCreator

, handler: Handler): ReducerBuilder; caseWithAction

(actionCreator: ActionCreator

, handler: Handler>): ReducerBuilder; cases(actionCreators: [ActionCreator, ActionCreator], handler: Handler): ReducerBuilder; cases(actionCreators: [ActionCreator, ActionCreator, ActionCreator], handler: Handler): ReducerBuilder; cases(actionCreators: [ActionCreator, ActionCreator, ActionCreator, ActionCreator], handler: Handler): ReducerBuilder; cases

(actionCreators: Array>, handler: Handler): ReducerBuilder; casesWithAction(actionCreators: [ActionCreator, ActionCreator], handler: Handler>): ReducerBuilder; casesWithAction(actionCreators: [ActionCreator, ActionCreator, ActionCreator], handler: Handler>): ReducerBuilder; casesWithAction(actionCreators: [ActionCreator, ActionCreator, ActionCreator, ActionCreator], handler: Handler>): ReducerBuilder; casesWithAction

(actionCreators: Array>, handler: Handler>): ReducerBuilder; withHandling(updateBuilder: (builder: ReducerBuilder) => ReducerBuilder): ReducerBuilder; default(defaultHandler: Handler): (state: PassedS, action: { type: any; }) => OutS; build(): (state: PassedS, action: { type: any; }) => OutS; (state: PassedS, action: AnyAction): OutS; } export declare type Handler = (state: InS, payload: P) => OutS; export declare function reducerWithInitialState(initialState: S): ReducerBuilder; export declare function reducerWithoutInitialState(): ReducerBuilder; export declare function upcastingReducer(): ReducerBuilder;