use crate::{
AttributesQueue, BatchProvider, BatchStream, ChannelProvider, ChannelReader, FrameQueue,
IndexedTraversal, L1Retrieval, PollingTraversal,
};
pub type L1RetrievalStage<DAP, T> = L1Retrieval<DAP, T>;
pub type FrameQueueStage<DAP, T> = FrameQueue<L1RetrievalStage<DAP, T>>;
pub type ChannelProviderStage<DAP, T> = ChannelProvider<FrameQueueStage<DAP, T>>;
pub type ChannelReaderStage<DAP, T> = ChannelReader<ChannelProviderStage<DAP, T>>;
pub type BatchStreamStage<DAP, T, F> = BatchStream<ChannelReaderStage<DAP, T>, F>;
pub type BatchProviderStage<DAP, T, F> = BatchProvider<BatchStreamStage<DAP, T, F>, F>;
pub type AttributesQueueStage<DAP, T, F, B> = AttributesQueue<BatchProviderStage<DAP, T, F>, B>;
pub type PolledAttributesQueueStage<DAP, P, F, B> =
AttributesQueueStage<DAP, PollingTraversal<P>, F, B>;
pub type IndexedAttributesQueueStage<DAP, P, F, B> =
AttributesQueueStage<DAP, IndexedTraversal<P>, F, B>;