//! Core traits and types for Rusticx ORM.
//!
//! This crate provides the foundational abstractions that all Rusticx backends
//! build on. End users work with the top-level `rusticx` crate, not this one
//! directly — but understanding these types helps when implementing custom
//! backends or advanced use cases.
//!
//! # Key types
//!
//! | Type | Purpose |
//! |---|---|
//! | [`model::Model`] | Trait every struct must implement (via `#[derive(Model)]`) |
//! | [`repository::Repository`] | Typed CRUD repository for one model |
//! | [`adapter::DatabaseAdapter`] | Async trait all backends implement |
//! | [`adapter::SyncAdapter`] | Blocking wrapper for non-async contexts |
//! | [`query::QueryBuilder`] | Composable, backend-agnostic query builder |
//! | [`value::Value`] | Universal value enum bridging Rust ↔ database |
//! | [`error::RusticxError`] | All errors this crate can produce |
pub use ;