import { Dispatch, Middleware } from 'redux'; declare type MaybePayload

= P extends object | string | boolean | number ? { payload: P; } : { payload?: P; }; export declare type Action = { type: T; } & MaybePayload

; export declare type Dictionary = { [key: string]: T; }; export declare type Mutation = (payload: A['payload'], action: A) => (state: S) => S; export declare type ActionPayloadGenerator = (...args: any[]) => any; export declare type ActionCreator = { type: T; _genericAction?: boolean; } & ((...args: any[]) => Action); export declare type UpduxDispatch = Dispatch & Dictionary; export declare type UpduxConfig = { initial?: S; subduxes?: {}; actions?: { [type: string]: ActionCreator; }; mutations?: any; groomMutations?: (m: Mutation) => Mutation; effects?: Dictionary>; }; export declare type Upreducer = (action: Action) => (state: S) => S; export {}; //# sourceMappingURL=types.d.ts.map