#[cfg(not(feature = "std"))]
use alloc::boxed::Box;
use zeroize::Zeroize;
use crate::error::Error;
pub trait Kdf: Zeroize {
type E: Error;
fn new(salt: Option<&[u8]>, data: &[u8]) -> Self;
fn expand(&self, info: &[u8], okm: &mut [u8]) -> Result<(), Self::E>;
}