use Arc;
use crateStateModel;
use ;
/// A [`ConstraintModelService`] is a persistent builder of [ConstraintModel] instances.
/// Building a [`ConstraintModelService`] may require parametrizing the constraint model
/// based on the incoming query.
/// The service then builds a [ConstraintModel] instance for each route query.
/// [`ConstraintModelService`] must be read across the thread pool and so it implements
/// Send and Sync.
///
/// [ConstraintModel]: routee_compass_core::model::constraint::ConstraintModel