import { ReducerMaybeWithSideEffects } from "./SideEffect"; export interface Action { type?: string; } export interface Reducer { (state: S, action: Action): S; } export declare type ReducerMap = { [P in keyof S]?: ReducerMaybeWithSideEffects; }; export declare type DeepReducerMap = { [P in keyof S]?: ReducerMaybeWithSideEffects | DeepReducerMap | ReducerMaybeWithSideEffects[] | DeepReducerMap[]; };