import { Action } from "redux"; import { IVirtualStoreConstructor } from "./virtual-store"; export declare type IAData = any; export interface IActionData { payload?: IData; virtualStorage?: string; } export interface IAction extends IActionData, Action { } export interface IReducer { (state: ValueInterface, action: ReduxAction): ValueInterface | void; } export interface ISingleReducer { (state: ValueInterface, action: IData, rawAction: IAction): ValueInterface | void; displayName?: string; } export interface IReduxActionConstructor { new (payload: IData, virtualStore?: IVirtualStoreConstructor): ReduxAction; } export declare abstract class ReduxAction implements IAction { readonly type: string; readonly payload: IData; readonly virtualStorage?: string; constructor(payload: IData, VirtualStore?: IVirtualStoreConstructor | '*'); static is(act: IAction): boolean; static compare(act: IAction, Action: IReduxActionConstructor, VirtualStore?: IVirtualStoreConstructor): boolean; toJSON(): IAction; }