mod booth_state_state_machine;
mod registration_state_state_machine;
#[derive(Debug, Clone, thiserror::Error)]
pub enum StateMachineError {
#[error("Invalid state: {0}")]
InvalidState(String),
#[error("Invalid transition: {0}")]
InvalidTransition(String),
#[error("Transition '{transition}' not allowed from state '{from}'")]
TransitionNotAllowed {
transition: String,
from: String,
},
#[error("Role '{role}' not authorized for transition '{transition}'")]
RoleNotAuthorized {
role: String,
transition: String,
},
#[error("Guard condition failed for transition '{0}'")]
GuardFailed(String),
#[error("Cannot transition from final state '{0}'")]
FinalStateReached(String),
}
pub use booth_state_state_machine::{booth_stateState, booth_stateTransition, booth_stateStateMachine};
pub use registration_state_state_machine::{registration_stateState, registration_stateTransition, registration_stateStateMachine};