dcrypt_api/
lib.rs

1//! Public API traits and types for the DCRYPT library
2//!
3//! This crate provides the public API surface for the DCRYPT ecosystem, including
4//! trait definitions, error types, and common types used throughout the library.
5
6#![cfg_attr(not(feature = "std"), no_std)]
7
8#[cfg(all(feature = "alloc", not(feature = "std")))]
9extern crate alloc;
10
11pub mod error;
12pub mod traits;
13pub mod types;
14
15// Re-export commonly used items at the crate level for convenience
16pub use error::{Error, Result};
17pub use types::*;
18
19// Re-export all traits from the traits module
20pub use traits::{
21    AuthenticatedCipher, BlockCipher, HashAlgorithm, Kem, KeyDerivationFunction, Serialize,
22    Signature, StreamCipher, SymmetricCipher,
23};
24
25// Re-export trait modules for direct access
26pub use traits::{kem, serialize, signature, symmetric};