#![deny(missing_docs)]
mod error;
pub mod explain;
mod facts;
mod fen;
mod game;
#[cfg(feature = "lichess")]
pub mod lichess;
mod moves;
#[cfg(feature = "openings")]
pub mod openings;
#[cfg(feature = "pgn")]
pub mod pgn;
#[cfg(feature = "polyglot")]
pub mod polyglot;
mod position;
#[cfg(feature = "python")]
mod python;
mod schema;
mod types;
#[cfg(feature = "uci")]
pub mod uci;
mod variant;
mod zobrist;
pub use error::{FenError, IllegalMove, MoveParseError, PositionError};
pub use facts::{
AnnotatedMove, AttackFacts, CastledSide, DrawishMaterial, EndgameFacts, ExchangeFacts, Facts,
HistoryFacts, KingFacts, MaterialFacts, MobilityFacts, MoveFacts, Opposition, PawnFacts,
PieceFacts, PlacementFacts, PlaneFacts, RowError, Scratch, Side, StateFacts, TacticsFacts,
ThreatFacts, encode_fens, encode_positions,
};
pub use game::Game;
pub use moves::{MAX_MOVES, Move, MoveKind, MoveList};
pub use position::{CastlingRights, Key, Position, Score};
pub use schema::{FeatureSet, FeatureSpec, GroupSet, GroupSpec, Schema, SchemaId};
pub use types::{
Colour, File, FileSet, FileSetIter, Piece, Rank, Role, Square, SquareParseError, SquareSet,
SquareSetIter,
};
pub use variant::{
CHESS960, CLASSIC, CastlingOutput, Chess960, Classic, DrawClaim, Outcome, Variant, chess960,
classic,
};