mod lazy;
pub mod rational;
mod state;
pub mod synchronize;
mod traits;
mod transition;
pub mod unary;
mod vector;
pub use lazy::{LazyState, LazyWfstWrapper, StateSource};
pub use state::WfstState;
pub use traits::{CachePolicy, LazyWfst, MutableWfst, Wfst};
pub use transition::WeightedTransition;
pub use vector::{VectorWfst, VectorWfstBuilder};
pub use rational::{
closure, closure_plus, concat, union, ClosureSource, ClosureWfst, ConcatSource, ConcatWfst,
UnionSource, UnionWfst,
};
pub use unary::{
invert, project_input, project_output, reverse, InvertSource, InvertWfst, ProjectInputWfst,
ProjectOutputWfst, ProjectSource,
};
pub use synchronize::{
compute_max_delay, has_bounded_delay, synchronize, synchronize_bounded, MutableSyncSource,
StringDelay, SyncSource, SyncState, SyncWfst,
};
pub type StateId = u32;
pub const NO_STATE: StateId = StateId::MAX;