pub use solverforge_macros::{planning_entity, planning_solution, problem_fact};
pub use solverforge_macros::{PlanningEntityImpl, PlanningSolutionImpl, ProblemFactImpl};
pub use solverforge_config::{SolverConfig, SolverConfigOverride};
pub use solverforge_core::score::{
BendableScore, HardMediumSoftScore, HardSoftDecimalScore, HardSoftScore, Score, SoftScore,
};
pub mod cvrp;
pub mod prelude;
pub mod stream;
#[doc(hidden)]
pub mod __internal;
pub use solverforge_scoring::{
ConstraintSet, IncrementalBiConstraint, IncrementalConstraint, IncrementalUniConstraint,
};
pub use solverforge_scoring::{Director, ScoreDirector};
pub use solverforge_solver::heuristic::selector::DefaultDistanceMeter;
pub use solverforge_solver::CrossEntityDistanceMeter;
pub use solverforge_solver::{
analyze, run_solver, run_solver_with_config, Analyzable, ConstraintAnalysis, ScoreAnalysis,
Solvable, SolverEvent, SolverEventMetadata, SolverLifecycleState, SolverManager,
SolverManagerError, SolverRuntime, SolverSnapshot, SolverSnapshotAnalysis, SolverStatus,
SolverTelemetry, SolverTerminalReason,
};
#[cfg(feature = "console")]
pub use solverforge_console as console;