use crate::common::types::{ArbCmd, Cycles, Gate, QubitRef, SequenceNumber};
use serde::{Deserialize, Serialize};
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub enum GatestreamDown {
Pipelined(SequenceNumber, PipelinedGatestreamDown),
ArbRequest(ArbCmd),
}
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub enum PipelinedGatestreamDown {
Allocate(usize, Vec<ArbCmd>),
Free(Vec<QubitRef>),
Gate(Gate),
Advance(Cycles),
}