A RefundProcess is used to define the way the refund process works as in: what states a Refund can be
in, and how it may transition from one state to another. Using the onTransitionStart() hook, a
RefundProcess can perform checks before allowing a state transition to occur, and the onTransitionEnd()
hook allows logic to be executed after a state change.
For detailed description of the interface members, see the StateMachineConfig docs.
InjectableStrategyTransitions<State, State | RefundState> & Partial<Transitions<RefundState | State>>OnTransitionStartFn<State | RefundState, RefundTransitionData>OnTransitionEndFn<State | RefundState, RefundTransitionData>OnTransitionErrorFn<State | RefundState>