use std::collections::BTreeMap;
use super::{
address::{DimensionVector, RevisionId, SpaceId},
hlc::SessionId,
provenance::FrameId,
};
pub type FrameVersionPin = BTreeMap<SessionId, RevisionId>;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub struct FrameQueryOptions {
pub index_only: bool,
pub include_diagnosis: bool,
pub include_suppressed: bool,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct FrameQuery {
pub frame_id: FrameId,
pub testimony_space: SpaceId,
pub min: DimensionVector,
pub max: DimensionVector,
pub as_of: Option<RevisionId>,
pub version_vector: Option<FrameVersionPin>,
pub options: FrameQueryOptions,
}