use std::sync::{Arc, Mutex, RwLock};
use nodedb_cluster::GroupAppliedWatchers;
pub struct PendingSubsystems {
pub config: nodedb_cluster::ClusterConfig,
}
pub struct ClusterHandle {
pub transport: Arc<nodedb_cluster::NexarTransport>,
pub topology: Arc<RwLock<nodedb_cluster::ClusterTopology>>,
pub routing: Arc<RwLock<nodedb_cluster::RoutingTable>>,
pub lifecycle: nodedb_cluster::ClusterLifecycleTracker,
pub metadata_cache: Arc<RwLock<nodedb_cluster::MetadataCache>>,
pub group_watchers: Arc<GroupAppliedWatchers>,
pub node_id: u64,
pub multi_raft: Mutex<Option<nodedb_cluster::MultiRaft>>,
pub catalog: Arc<nodedb_cluster::ClusterCatalog>,
pub running_cluster: Mutex<Option<nodedb_cluster::RunningCluster>>,
pub pending_subsystems: Mutex<Option<PendingSubsystems>>,
}