export declare namespace Actions { export interface IAction { namespace: ActionNamespace; session: string; type: string; message: string; data: T; } export abstract class BaseAction implements IAction { data: T; message: string; namespace: ActionNamespace; session: string; type: string; } export class TableAction extends BaseAction { dumpAction: DumpActionType; } export enum DumpActionType { SINGLE = "SINGLE", MULTIPLE = "MULTIPLE", NONE = "NONE", CUSTOM = "CUSTOM" } interface IBaseActionData { } interface IRouteActionData extends IBaseActionData { route: string; } export class PushRoute extends BaseAction { namespace: ActionNamespace; type: string; } export class PopRoute extends BaseAction { namespace: ActionNamespace; type: string; } export enum ActionNamespace { GENERAL = 0, MATERIAL = 1, CUSTOM = 2 } export {}; }