UNPKG

1.32 kBTypeScriptView Raw
1import { ActionCallback, IInteractionContext, LooseObject } from '../../interface';
2import Action from './base';
3import CallbackAction from './callback';
4/** Action 构造函数 */
5declare type ActionConstructor = new (context: IInteractionContext, cfg?: LooseObject) => Action;
6/**
7 * 根据名称获取 Action 实例
8 * @param actionName - action 的名称
9 * @param context 上下文
10 * @returns Action 实例
11 */
12export declare function createAction(actionName: string, context: IInteractionContext): Action;
13/**
14 * 根据 action 的 name 获取定义的类
15 * @param actionName action 的 name
16 */
17export declare function getActionClass(actionName: string): ActionConstructor;
18/**
19 * 注册 Action
20 * @param actionName - action 的名称
21 * @param ActionClass - 继承自 action 的类
22 */
23export declare function registerAction(actionName: string, ActionClass: ActionConstructor, cfg?: LooseObject): void;
24/**
25 * 取消注册 Action
26 * @param actionName action 名称
27 */
28export declare function unregisterAction(actionName: string): void;
29/**
30 * 根据回调函数获取 Action 实例
31 * @param callback - action 的回调函数
32 * @param context 上下文
33 * @returns Action 实例
34 */
35export declare function createCallbackAction(callback: ActionCallback, context: IInteractionContext): CallbackAction;
36export {};