#![expect(
clippy::disallowed_types,
reason = "adjudicated free-form JSON slots: serde_json::Value is workspace-banned (#1694); a generated carrier exists only where the spec leaves the slot open, and each adjudicated field's NOTE names its citation"
)]
use crate::bmm3::core::entity::bmm_class::BmmClass;
use crate::bmm3::core::entity::bmm_module::BmmModule;
use crate::bmm3::core::model::bmm_package::BmmPackage;
#[doc(alias = "BMM_MODEL")]
#[derive(Debug, Clone, PartialEq)]
pub struct BmmModel {
pub name: String,
pub documentation: Option<std::collections::BTreeMap<String, serde_json::Value>>,
pub extensions: Option<std::collections::BTreeMap<String, serde_json::Value>>,
pub packages: Option<std::collections::BTreeMap<String, BmmPackage>>,
pub rm_publisher: String,
pub rm_release: String,
pub class_definitions: Option<std::collections::BTreeMap<String, BmmClass>>,
pub used_models: Option<Vec<BmmModel>>,
pub modules: Option<std::collections::BTreeMap<String, BmmModule>>,
}