import { IActionCreator, IAction, ActionModeSingle, ActionModeMulti, ActionMode } from './action.js'; import { IActionHandler } from './action-handler.js'; interface IActionMapBasic { has(actionCreator: IActionCreator): boolean; add(...actions: IAction[]): void; get
>(actionCreator: IActionCreator
): A | undefined; get
>(actionCreator: IActionCreator
): A[] | undefined;
delete(actionCreator: IActionCreator): boolean;
readonly size: number;
}
interface IActionMapExtended extends IActionMapBasic {
getActionCreators(): Iterable >(actionCreator: IActionCreator ): A | undefined;
get >(actionCreator: IActionCreator ): A[] | undefined;
delete(actionCreator: IActionCreator): boolean;
get size(): number;
_attachHandler(handler: IActionHandler): void;
_detachHandler(): void;
_setIsHandlerExecuted(triggered: boolean): void;
}
declare function createActionMap(...actions: IAction[]): ActionMap;
export { ActionMap, type IActionMapBasic, type IActionMapExtended, type IActionMapInternal, createActionMap };