#![allow(clippy::type_complexity)]
pub mod api;
pub mod constraint;
pub mod director;
pub mod stream;
pub use constraint::{
CrossComplementedGroupedConstraint, CrossGroupedConstraint, GroupedUniConstraint,
IncrementalBiConstraint, IncrementalCrossBiConstraint, IncrementalPentaConstraint,
IncrementalQuadConstraint, IncrementalTriConstraint, IncrementalUniConstraint,
ProjectedComplementedGroupedConstraint, ProjectedGroupedConstraint, ProjectedUniConstraint,
};
pub use api::constraint_set::{
ConstraintMetadata, ConstraintResult, ConstraintSet, IncrementalConstraint,
IncrementalConstraintSealed,
};
pub use api::node_sharing::{SharedNodeDiagnostics, SharedNodeId, SharedNodeOperation};
pub use api::weight_overrides::{ConstraintWeightOverrides, WeightProvider};
pub use director::score_director::ScoreDirector;
pub use director::{Director, DirectorScoreState, SolvableSolution};
pub use api::analysis::{
ConstraintAnalysis, ConstraintJustification, DetailedConstraintEvaluation,
DetailedConstraintMatch, EntityRef, Indictment, IndictmentMap, ScoreExplanation,
};
pub use stream::{
fixed_weight, hard_weight, BiConstraintBuilder, BiConstraintStream, ConstraintFactory,
CrossComplementedGroupedConstraintBuilder, CrossComplementedGroupedConstraintStream,
CrossGroupedConstraintBuilder, CrossGroupedConstraintStream, FixedWeight,
GroupedConstraintBuilder, GroupedConstraintStream, HardWeight, ProjectedBiConstraintBuilder,
ProjectedBiConstraintStream, ProjectedComplementedGroupedConstraintBuilder,
ProjectedComplementedGroupedConstraintStream, ProjectedConstraintBuilder,
ProjectedConstraintStream, ProjectedGroupedConstraintBuilder, ProjectedGroupedConstraintStream,
Projection, ProjectionSink, UniConstraintBuilder, UniConstraintStream,
};