use crate::guard::GuardManager;
use echo_core::circuit_breaker::CircuitBreaker;
use std::sync::Arc;
pub(crate) struct GuardSubsystem {
pub(crate) guard_manager: Option<GuardManager>,
pub(crate) permission_policy: Option<Arc<dyn crate::tools::permission::PermissionPolicy>>,
pub(crate) audit_logger: Option<Arc<dyn crate::audit::AuditLogger>>,
pub(crate) circuit_breaker: Option<Arc<CircuitBreaker>>,
}