cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
61 lines • 1.99 kB
TypeScript
/**
* Менеджер State Machine для CSElement
*/
import { StateMachineManager, IStateMachine, StateMachineConfig, TransitionResult } from '../types/state-machine-interfaces';
import { ICSElement } from '../types/interfaces';
/**
* Реализация менеджера State Machine
*/
export declare class StateMachineManagerImpl implements StateMachineManager {
private _stateMachines;
constructor();
/**
* Создать state machine для элемента
*/
create(element: ICSElement, config: StateMachineConfig): IStateMachine;
/**
* Получить state machine элемента
*/
get(elementId: string): IStateMachine | undefined;
/**
* Проверить, есть ли state machine для элемента
*/
has(elementId: string): boolean;
/**
* Удалить state machine элемента
*/
remove(elementId: string): boolean;
/**
* Получить все state machines
*/
getAll(): Map<string, IStateMachine>;
/**
* Очистить все state machines
*/
clear(): void;
/**
* Получить статистику
*/
getStats(): {
total: number;
byState: Map<string, number>;
byName: Map<string, number>;
};
/**
* Найти state machines по критериям
*/
findByState(stateName: string): IStateMachine[];
/**
* Найти state machines по имени
*/
findByName(name: string): IStateMachine[];
/**
* Отправить событие всем state machines
*/
broadcastEvent(event: string, payload?: any): Promise<Map<string, any>>;
/**
* Отправить событие state machines в определенном состоянии
*/
sendToState(stateName: string, event: string, payload?: any): Promise<Map<string, TransitionResult>>;
}
//# sourceMappingURL=StateMachineManager.d.ts.map