import { Action, ActionType } from './Action'; export declare type AsyncStatus = 'resolved' | 'rejected'; export interface Binding { name: string; actionType: ActionType; asyncStatus?: AsyncStatus; } export declare abstract class Reducer<$State> { abstract state: $State; private _syncActionHandlerMap; private _asyncResolvedActionHandlerMap; private _asyncRejectedActionHandlerMap; constructor(); getBindings(): Binding[]; bindActionHandler(name: string, actionType: ActionType, asyncStatus?: AsyncStatus): void; applyAction({type, payload, asyncStatus}: Action): $State; private _detectActionHandlerMap(asyncStatus?); }