pub mod config;
pub mod domains;
pub mod error;
pub mod key_lifecycle;
pub mod secrets;
pub mod traits;
#[expect(
clippy::module_inception,
reason = "the inner `types` submodule is the canonical home of the fundamental crypto type set; the parent module is the public re-export namespace, so the inner/outer same-name pairing is intentional"
)]
pub mod types;
pub mod zero_trust;
pub use config::{
CoreConfig, EncryptionConfig, ProofComplexity, SignatureConfig, UseCaseConfig, ZeroTrustConfig,
};
pub use error::{Result, TypeError};
pub use key_lifecycle::{
CustodianRole, KeyCustodian, KeyLifecycleRecord, KeyLifecycleState, KeyStateMachine,
StateTransition,
};
pub use secrets::{SecretBytes, SecretVec};
pub use traits::{
ContinuousVerifiable, DataCharacteristics, HardwareCapabilities, HardwareInfo, HardwareType,
PatternType, ProofOfPossession, SchemeSelector, VerificationStatus, ZeroTrustAuthenticable,
};
pub use types::{
AlgorithmSelection, ComplianceMode, CryptoContext, CryptoPayload, CryptoScheme, EncryptedData,
EncryptedMetadata, HashOutput, KeyPair, PerformancePreference, PrivateKey, PublicKey,
SecurityLevel, SignedData, SignedMetadata, SymmetricKey, UseCase, fips_available,
};
pub use zero_trust::TrustLevel;