@class NSString, NSArray, NSMutableDictionary, NSObject, NSMutableArray; @protocol OS_os_log, OS_dispatch_queue; @interface VUIStateMachine : NSObject { id /* block */ _stateChangeHandler; NSMutableArray *_events; NSMutableDictionary *_handlers; NSMutableDictionary *_defaultHandlers; NSObject<OS_dispatch_queue> *_dispatchQueue; NSMutableArray *_blocksToExecuteAfterStateTransition; BOOL _handlingEvent; } @property (copy) NSString *currentState; @property (readonly, copy, nonatomic) NSString *name; @property (readonly, nonatomic) long long mode; @property BOOL shouldAcceptEvents; @property (retain, nonatomic) NSObject<OS_os_log> *logObject; @property (copy) NSArray *ignorableEvents; @property (nonatomic) BOOL callsStateChangeHandlerSynchronously; + (void)initialize; + (void)deregisterStateMachine:(id)a0; + (void)registerStateMachine:(id)a0; + (id)stateMachineWithName:(id)a0; + (id)stateMachinesOfType:(Class)a0; - (void)postEvent:(id)a0; - (void).cxx_destruct; - (void)_processEvent:(id)a0; - (void)_processNextEvent; - (void)_dispatchEvent:(id)a0; - (id)initWithName:(id)a0 initialState:(id)a1 mode:(long long)a2; - (void)postEvent:(id)a0 withContext:(id)a1 userInfo:(id)a2; - (void)purgeEventQueue; - (id /* block */)_eventHandlerForEvent:(id)a0; - (void)_executePostTransitionBlocks; - (void)_transitionToState:(id)a0 withEvent:(id)a1 context:(id)a2 userInfo:(id)a3; - (void)deregisterHandlers; - (void)executeBlockAfterCurrentStateTransition:(id /* block */)a0; - (id)initWithName:(id)a0 initialState:(id)a1 mode:(long long)a2 stateChangeHandler:(id /* block */)a3; - (void)logUnhandledEvents; - (void)postEvent:(id)a0 withContext:(id)a1; - (void)registerDefaultHandlerForEvent:(id)a0 withBlock:(id /* block */)a1; - (void)registerHandlerForEvent:(id)a0 onState:(id)a1 withBlock:(id /* block */)a2; - (void)registerHandlerForEvent:(id)a0 onStates:(id)a1 withBlock:(id /* block */)a2; - (void)registerHandlerForEvents:(id)a0 onStates:(id)a1 withBlock:(id /* block */)a2; - (void)registerStateTransitionFromState:(id)a0 onEvent:(id)a1 toState:(id)a2; @end