use std::{collections::HashSet, fmt::Debug};
use manas_access_control::model::pdp::PolicyDecisionPoint;
use manas_repo_opendal::object_store::backend::BuildableODRObjectStoreBackend;
use rdf_utils::model::triple::ArcTriple;
use crate::space::RcpStorageSpace;
pub mod impl_;
pub trait SinglePodRecipeSetup: Debug + Send + Sync + 'static {
const BACKEND_NAME: &'static str;
const PDP_NAME: &'static str;
const INITIAL_ROOT_ACR_TEMPLATE: &'static str;
type PDP: PolicyDecisionPoint<StSpace = RcpStorageSpace, Graph = HashSet<ArcTriple>>
+
Default;
type BackendBuilder: opendal::Builder;
type Backend: BuildableODRObjectStoreBackend<Self::BackendBuilder>;
}