use super::MessageSchema;
use crate::error::Result;
pub trait SchemaRegistryExt {
fn register_schema(&self, schema: &MessageSchema) -> impl std::future::Future<Output = Result<()>> + Send;
fn get_schema(
&self,
name: &str,
version: u32,
) -> impl std::future::Future<Output = Result<Option<MessageSchema>>> + Send;
fn get_latest_schema(&self, name: &str) -> impl std::future::Future<Output = Result<Option<MessageSchema>>> + Send;
fn list_schemas(&self) -> impl std::future::Future<Output = Result<Vec<MessageSchema>>> + Send;
fn get_schema_versions(&self, name: &str) -> impl std::future::Future<Output = Result<Vec<MessageSchema>>> + Send;
fn delete_schema(&self, name: &str, version: Option<u32>) -> impl std::future::Future<Output = Result<()>> + Send;
}