import { IStateMachine, StateMachineConfig, SMEvent, SMMessageName, SMMessageBusMessage, LogLevel, SMMessageBus, LogProcessor, Visitable, SMVisitor, SMErrorAction, Result, IState } from "./types"; export default class StateMachine implements IStateMachine, Visitable { logger: LogProcessor; name?: string; contextObject: Object; halted: boolean; result: Result | null; mBusErrorMessage: string; errorneousHaltMessage: string | null; handle: any; eventSet: Set; messageBus: SMMessageBus; logLevel: LogLevel; root: IState; onGuardError: SMErrorAction; onActionError: SMErrorAction; onAmbiguousTransition: SMErrorAction; onIllegalEvent: SMErrorAction; onDisabledStateEvent: SMErrorAction; onMBusError: SMErrorAction; onLoggerError: SMErrorAction; enterStateMessagePrefix: string; exitStateMessagePrefix: string; private eventStateMatcher; constructor({ name, stateMap, onGuardError, messageBus, enterStateMessagePrefix, exitStateMessagePrefix, onActionError, contextObject, onAmbiguousTransition, mBusErrorMessage, onIllegalEvent, logLevel, }: StateMachineConfig); run(): void; accept(visitor: SMVisitor): void; update(message: SMMessageBusMessage): void; dispatchMessage(message: SMMessageName, eventArgs: any): void; processEvent(eventName: SMEvent, eventArgs: any): void; handleActionError(error: Error, state: IState, eventName: SMEvent, eventArgs: any): void; handleAmbiguousTransition(state: IState, eventName: SMEvent): void; get state(): string; handleGuardError(error: Error, state: IState, eventName: SMEvent, eventArgs: any): void; private validateStateTree; private emergencyShutdown; halt(result: Result): void; private initLogger; private initStateTree; private initMessageBus; private mapEvents; }