import { ActionCreator, ActionType } from "./action"; import { Action } from "./types"; export declare type On = { reducer: (state: S, action: Action) => S; types: string[]; }; export declare type OnReducer = (state: S, action: ActionType) => S; export declare type Reducer = (state: S | undefined, action: Action) => S; export declare function on(creator1: C1, reducer: OnReducer): On; export declare function on(creator1: C1, creator2: C2, reducer: OnReducer): On; export declare function on(creator1: C1, creator2: C2, creator3: C3, reducer: OnReducer): On; export declare function on(...args: (C | ((state: S, action: C["action"]) => S))[]): On; export declare function reducer(initialState: S, ...ons: On[]): Reducer;