mod cache;
mod progress;
#[cfg(feature = "liter-llm")]
mod llm_client;
#[cfg(feature = "presets")]
mod preset_resolver;
#[cfg(feature = "heuristics")]
mod structured_policy;
#[cfg(feature = "layout-detection")]
mod model_provider;
pub use cache::{CacheBackend, NoopCache};
#[cfg(any(test, feature = "ocr", feature = "ocr-pipeline"))]
#[allow(unused_imports)]
pub(crate) use progress::emit_ocr_page;
#[cfg(all(feature = "tokio-runtime", any(feature = "ocr", feature = "ocr-pipeline")))]
#[allow(unused_imports)]
pub(crate) use progress::inherit_progress;
#[cfg(feature = "tokio-runtime")]
pub(crate) use progress::scope_progress;
pub use progress::{NoopProgressSink, ProgressEvent, ProgressSink};
#[cfg(feature = "liter-llm")]
pub use llm_client::{LiterLlmClient, LlmClient};
#[cfg(feature = "presets")]
pub use preset_resolver::{CorePresetResolver, PresetResolver};
#[cfg(feature = "heuristics")]
pub use structured_policy::{DefaultStructuredPolicy, StructuredPolicy};
#[cfg(feature = "layout-detection")]
pub use model_provider::{DefaultModelProvider, ModelId, ModelProvider};