use crate::backend::{Backend, RegistryImpl};
#[diagnostic::on_unimplemented(
message = "`{Self}` has no coordinated consumer-group primitive; use `broker.consumer_supervisor()` instead.",
note = "Only Kafka, RabbitMQ, NATS, and InMemory implement `HasCoordinatedGroups`. SQS runs N parallel independent consumers via the supervisor."
)]
#[allow(private_interfaces, private_bounds)]
pub trait HasCoordinatedGroups: Backend {
type ConsumerGroupConfig: Default + Clone + Send + 'static;
type RegistryImpl: RegistryImpl<GroupConfig = Self::ConsumerGroupConfig> + Send + 'static;
fn make_registry(client: &Self::Client) -> Self::RegistryImpl;
}