pub(crate) mod bitscan;
pub mod builder;
pub mod cancel;
pub(crate) mod config;
pub mod constraint;
pub(crate) mod csp;
pub mod domain;
pub mod error;
pub mod ordering;
pub mod puzzles;
#[cfg(feature = "py")]
pub mod py;
pub mod solver;
pub mod variable;
pub use builder::assignment::{
AssignmentBuilder, AssignmentError, AssignmentSolution, SENTINEL, assignment,
};
pub use cancel::CancelToken;
pub use config::{Csp, OptimizationMode, PropagationStrategy, Pruning, SolveConfig, SolveStats};
pub use csp::solve::Unsatisfiable;
pub use error::CspError;
pub use puzzles::sudoku;