// src/lib/lib.rs
//! # Flux Limiter
//!
//! A rate limiter based on the Generic Cell Rate Algorithm (GCRA).
//!
//! ## Quick Example
//!
//! ```rust
//! use flux_limiter::{FluxLimiter, FluxLimiterConfig, SystemClock};
//!
//! let config = FluxLimiterConfig::new(10.0, 5.0);
//! let limiter = FluxLimiter::with_config(config, SystemClock).unwrap();
//!
//! let decision = limiter.check_request("user_123").unwrap();
//! if decision.allowed {
//! println!("Request allowed");
//! } else {
//! println!("Rate limited - retry after {:.2}s",
//! decision.retry_after_seconds.unwrap_or(0.0));
//! }
//! ```
// private modules
// public API exports
pub use ;
pub use FluxLimiterConfig;
pub use FluxLimiterError;
pub use ;