import { ActionCallback, IInteractionContext, LooseObject } from '../../interface'; import Action from './base'; import CallbackAction from './callback'; /** Action 构造函数 */ declare type ActionConstructor = new (context: IInteractionContext, cfg?: LooseObject) => Action; /** * 根据名称获取 Action 实例 * @param actionName - action 的名称 * @param context 上下文 * @returns Action 实例 */ export declare function createAction(actionName: string, context: IInteractionContext): Action; /** * 根据 action 的 name 获取定义的类 * @param actionName action 的 name */ export declare function getActionClass(actionName: string): ActionConstructor; /** * 注册 Action * @param actionName - action 的名称 * @param ActionClass - 继承自 action 的类 */ export declare function registerAction(actionName: string, ActionClass: ActionConstructor, cfg?: LooseObject): void; /** * 取消注册 Action * @param actionName action 名称 */ export declare function unregisterAction(actionName: string): void; /** * 根据回调函数获取 Action 实例 * @param callback - action 的回调函数 * @param context 上下文 * @returns Action 实例 */ export declare function createCallbackAction(callback: ActionCallback, context: IInteractionContext): CallbackAction; export {};