mod byte_capacity;
mod client;
mod consumer;
mod environment;
pub mod error;
mod offset_specification;
mod producer;
mod stream_creator;
mod superstream;
mod superstream_consumer;
mod superstream_producer;
pub type RabbitMQStreamResult<T> = Result<T, error::ClientError>;
pub use crate::client::{Client, ClientOptions, MetricsCollector};
pub use crate::consumer::{Consumer, ConsumerBuilder, ConsumerHandle, FilterConfiguration};
pub use crate::environment::{Environment, EnvironmentBuilder, TlsConfiguration};
pub use crate::producer::{Dedup, NoDedup, Producer, ProducerBuilder};
pub mod types {
pub use crate::byte_capacity::ByteCapacity;
pub use crate::client::{Broker, MessageResult, StreamMetadata};
pub use crate::consumer::Delivery;
pub use crate::offset_specification::OffsetSpecification;
pub use crate::stream_creator::StreamCreator;
pub use crate::superstream::HashRoutingMurmurStrategy;
pub use crate::superstream::RoutingKeyRoutingStrategy;
pub use crate::superstream::RoutingStrategy;
pub use crate::superstream_consumer::SuperStreamConsumer;
pub use rabbitmq_stream_protocol::message::Message;
pub use rabbitmq_stream_protocol::{Response, ResponseCode, ResponseKind};
pub use rabbitmq_stream_protocol::message::{
AnnonationKey, ApplicationProperties, DeliveryAnnotations, Footer, Header, Map, Properties,
SimpleValue, Value,
};
}