// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Transition {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(string, tag = "2")]
    pub outcome: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub state: ::prost::alloc::string::String,
}
impl ::prost::Name for Transition {
    const NAME: &'static str = "Transition";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.yasmin_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.yasmin_msgs.msg.Transition".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.yasmin_msgs.msg.Transition".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct State {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(int32, tag = "2")]
    pub id: i32,
    #[prost(int32, tag = "3")]
    pub parent: i32,
    #[prost(string, tag = "4")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "5")]
    pub transitions: ::prost::alloc::vec::Vec<Transition>,
    #[prost(string, repeated, tag = "6")]
    pub outcomes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(bool, tag = "7")]
    pub is_fsm: bool,
    #[prost(int32, tag = "8")]
    pub current_state: i32,
}
impl ::prost::Name for State {
    const NAME: &'static str = "State";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.yasmin_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.yasmin_msgs.msg.State".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.yasmin_msgs.msg.State".into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StateMachine {
    #[prost(message, optional, tag = "1")]
    pub header: ::core::option::Option<
        super::super::super::super::make87_messages::core::Header,
    >,
    #[prost(message, repeated, tag = "2")]
    pub states: ::prost::alloc::vec::Vec<State>,
}
impl ::prost::Name for StateMachine {
    const NAME: &'static str = "StateMachine";
    const PACKAGE: &'static str = "make87_messages_ros2.humble.yasmin_msgs.msg";
    fn full_name() -> ::prost::alloc::string::String {
        "make87_messages_ros2.humble.yasmin_msgs.msg.StateMachine".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/make87_messages_ros2.humble.yasmin_msgs.msg.StateMachine".into()
    }
}
