use derive_builder::Builder;
use serde::{Deserialize, Serialize};
pub use authenticate::*;
pub use cancel::*;
pub use collect::*;
pub use sign::*;
pub mod authenticate;
pub mod cancel;
pub mod collect;
pub mod sign;
#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Builder, Default)]
#[serde(rename_all = "camelCase")]
#[builder(setter(strip_option))]
pub struct Requirement {
#[serde(skip_serializing_if = "Option::is_none")]
#[builder(default = "Option::None")]
pub pin_code: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[builder(default = "Option::None")]
pub mrtd: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
#[builder(default = "Option::None")]
pub card_reader: Option<String>,
#[serde(skip_serializing_if = "Vec::is_empty")]
#[builder(default = "vec!()")]
pub certificate_policies: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
#[builder(default = "Option::None")]
pub personal_number: Option<String>,
}
#[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone)]
pub enum UserVisibleDataFormat {
#[serde(rename = "simpleMarkdownV1")]
SimpleMarkdownV1,
}