mod catalog;
pub(crate) mod cost;
mod planner;
mod registry;
mod session;
mod state;
mod swap_equivalence;
mod templates;
pub(crate) use catalog::NativePlanCatalog;
pub(crate) use cost::{
CalibrationEstimator, DevicePhysicalCost, NativePlanCost, NativePlanLeaf, NativePlanSummary,
};
pub(crate) use planner::{DevicePlanner, DevicePlannerError, PlanChoice, PlanId, PlanTemplate};
pub(crate) use session::{
DevicePlanSnapshot, DevicePlanningSession, NativePlanAvailability, SelectedNativePlan,
};
pub(crate) use state::DeviceGateState;
pub(crate) use templates::DirectionTemplate;
#[cfg(test)]
#[path = "device_planning_test.rs"]
mod device_planning_test;