import { EventEmitter2 } from '@nestjs/event-emitter'; import { GraphInterface } from './interfaces/graph.interface'; import { TransitionInterface } from './interfaces/transition.interface'; export declare class StateMachine { private readonly subject; private readonly graph; private readonly statePropName; private readonly eventEmitter; constructor(subject: T, graph: GraphInterface, statePropName: string, eventEmitter: EventEmitter2); can(transitionName: string): Promise; getAvailableTransitions(): TransitionInterface[]; apply(transitionName: string): Promise; private getTransition; private getSubjectCurrentState; private checkGuards; private leaveState; private beginTransition; private enterState; private enteredState; private completedTransition; private announceTransactions; }