pub(crate) mod common;
pub use common::SubscriptionItem;
pub(crate) use common::{DecoderContext, StreamDecoder};
#[doc(hidden)]
#[cfg(feature = "sync")]
pub mod sync;
#[doc(hidden)]
#[cfg(feature = "async")]
pub mod r#async;
pub(crate) mod notice_stream;
#[cfg(feature = "sync")]
pub use notice_stream::sync_impl::NoticeStreamIter;
#[cfg(feature = "async")]
pub use notice_stream::async_impl::NoticeStream;
#[cfg(all(feature = "sync", not(feature = "async")))]
pub use notice_stream::sync_impl::NoticeStream;
#[cfg(feature = "sync")]
pub use sync::{
FilterData, SharesChannel, SubscriptionItemIterExt, SubscriptionIter, SubscriptionOwnedIter, SubscriptionTimeoutIter, SubscriptionTryIter,
};
#[cfg(all(feature = "sync", not(feature = "async")))]
pub use sync::Subscription;
#[cfg(feature = "async")]
pub use r#async::{FilterDataStream, Subscription, SubscriptionItemStreamExt};