use hybrid_array::ArraySize;
pub mod level1;
pub mod level3;
pub mod level5;
pub trait SecurityLevel: Default + Clone + core::fmt::Debug + 'static {
type FpLimbs: ArraySize;
type MpLimbs: ArraySize;
type FpEncodedBytes: ArraySize;
type Fp2EncodedBytes: ArraySize;
type PkLen: ArraySize;
type SigLen: ArraySize;
type ExpandedSigLen: ArraySize;
type CompressedSigLen: ArraySize;
type SkLen: ArraySize;
fn prime_le_bytes() -> &'static [u8];
const LAMBDA: u32;
const F_CHR: u32;
const E_RSP: u32;
const E_CHL: u32;
const HASH_ITERATIONS: u32;
const NWORDS_ORDER: usize;
const TORSION_EVEN_POWER: u32;
const P_COFACTOR_FOR_2F_BITLENGTH: usize;
const SQISIGN_RESPONSE_LENGTH: u32;
}
#[derive(Default, Clone, Debug)]
pub struct Level1;
#[derive(Default, Clone, Debug)]
pub struct Level3;
#[derive(Default, Clone, Debug)]
pub struct Level5;