pub trait StorageBackend {
// Required methods
fn get_base_uri(&self) -> String;
fn store_manifest(&self, manifest: &Manifest) -> Result<String>;
fn retrieve_manifest(&self, id: &str) -> Result<Manifest>;
fn list_manifests(&self) -> Result<Vec<ManifestMetadata>>;
fn delete_manifest(&self, id: &str) -> Result<()>;
fn as_any(&self) -> &dyn Any;
}