#![allow(clippy::type_complexity)]
pub mod api;
pub mod constraint;
pub mod director;
pub mod stream;
pub use constraint::{
CrossGroupedConstraint, GroupedUniConstraint, IncrementalBiConstraint,
IncrementalCrossBiConstraint, IncrementalPentaConstraint, IncrementalQuadConstraint,
IncrementalTriConstraint, IncrementalUniConstraint, ProjectedComplementedGroupedConstraint,
ProjectedGroupedConstraint, ProjectedUniConstraint,
};
pub use api::constraint_set::{
ConstraintMetadata, ConstraintResult, ConstraintSet, IncrementalConstraint,
};
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,
CrossGroupedConstraintBuilder, CrossGroupedConstraintStream, FixedWeight,
GroupedConstraintBuilder, GroupedConstraintStream, HardWeight, ProjectedBiConstraintBuilder,
ProjectedBiConstraintStream, ProjectedComplementedGroupedConstraintBuilder,
ProjectedComplementedGroupedConstraintStream, ProjectedConstraintBuilder,
ProjectedConstraintStream, ProjectedGroupedConstraintBuilder, ProjectedGroupedConstraintStream,
Projection, ProjectionSink, UniConstraintBuilder, UniConstraintStream,
};