pub mod algorithm;
pub mod armor;
pub mod callbacks;
pub mod context;
pub mod dump;
pub mod encrypt;
pub mod error;
pub mod ffi;
pub mod ffi_safe;
pub mod key;
pub mod keygen;
pub mod keyring;
pub mod key_signature_builder;
pub mod ops;
pub mod secret;
pub mod security;
pub mod signature;
pub mod signature_handle;
pub mod strconv;
pub mod subkey;
pub mod uid;
pub mod verify;
pub mod version;
pub use algorithm::{Algorithm, Cipher, Compression, Curve, Hash, KeyUsage};
#[cfg(feature = "pqc")]
pub use algorithm::{librnp_supports_pqc, PqcAlgorithm};
pub use armor::{armor_bytes, dearmor, dearmor_bytes, enarmor, guess_contents, ContentType};
pub use callbacks::{KeyProvider, KeyRequestOutcome, PasswordProvider, RequestedKeyType};
pub use context::{Context, KeyringFormat};
pub use dump::{
dump_packets_bytes_to_json, dump_packets_to_json, dump_packets_to_output, DumpFlags,
JsonDumpFlags, JsonFlags,
};
pub use encrypt::{
decrypt, decrypt_to, AddPasswordOptions, AeadType, DecryptResult, Decryptor, EncryptFlags,
Encryptor,
};
pub use error::{from_rnp_code, unknown_variant, Error, ErrorKind, Result};
pub use key::{
ExportFlags, Key, KeyIdentifier, LoadSaveFlags, RemoveFlags, RemoveSignaturesFlags,
UnloadFlags,
};
pub use key::{AddUidOptions, ProtectOptions, RevocationCode, RevocationReason};
pub use keygen::{generate_key_json, KeyBuilder, SubkeyBuilder};
#[cfg(feature = "pqc")]
pub use algorithm::{librnp_supports_pqc, PqcAlgorithm};
pub use keyring::{IdentifierIterator, IdentifierKind};
pub use key_signature_builder::{
CertificationBuilder, ConfiguredBuilder, DirectSignatureBuilder, RevocationSignatureBuilder,
SignatureSetterOps,
};
pub use ops::{
call_for_optional_string, call_for_string, cstr_to_optional_string, cstr_to_string,
ArmorType, Input, Output, OutputFileFlags,
};
pub use secret::{zero_string_bytes, SecretString};
pub use security::{
calculate_iterations, request_password, supports_feature, supported_features, FeatureType,
SecurityFlags, SecurityLevel, SecurityRule,
};
pub use signature::{
generate_revocation_certificate, generate_revocation_certificate_with, sign, sign_cleartext,
sign_detached, verify, verify_detached, Mode, Signer,
};
pub use signature_handle::{Signature, SignatureType, Subpacket, SubpacketType};
pub use subkey::Subkey;
pub use uid::{Uid, UidType};
pub use verify::{
FileInfo, Recipient, SignatureStatus, Symenc, VerifyFlags, VerifyOp, VerifyResult,
VerifySignature,
};
pub fn version_string() -> String {
crate::version::version_string()
}