import 'reflect-metadata';
import State from './state';
import { Reducer as ReduxReducer } from 'redux';
import Action, { ActionType } from './action';
export default class Reducer<T extends State> {
    initialState: T;
    mapping: Map<ActionType, Array<(state: T, action: any) => T>>;
    name: string | null;
    private executeReducer;
    protected call(state: T | undefined, action: Action): T;
    create(): ReduxReducer<T, any>;
}
