pub mod bindings;
pub mod debug;
#[cfg(feature = "di")]
pub mod di;
pub mod errors;
pub mod http;
pub mod lifecycle;
pub mod parameters;
pub mod problem;
pub mod request_data;
pub mod router;
pub mod schema_registry;
pub mod type_hints;
pub mod validation;

pub use bindings::response::{RawResponse, StaticAsset};
#[cfg(feature = "di")]
pub use di::{
    Dependency, DependencyContainer, DependencyError, DependencyGraph, FactoryDependency, FactoryDependencyBuilder,
    ResolvedDependencies, ValueDependency,
};
pub use http::{CompressionConfig, CorsConfig, Method, RateLimitConfig, RouteMetadata};
pub use lifecycle::{HookResult, LifecycleHook, LifecycleHooks, LifecycleHooksBuilder, request_hook, response_hook};
pub use parameters::ParameterValidator;
pub use problem::ProblemDetails;
pub use request_data::RequestData;
pub use router::{Route, RouteHandler, Router};
pub use schema_registry::SchemaRegistry;
pub use validation::{SchemaValidator, ValidationError, ValidationErrorDetail};
