use crate::NoisePolicy;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, PartialEq, Default)]
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
pub struct DefaultsConfig {
#[serde(skip_serializing_if = "Option::is_none", default)]
pub repeat: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub warmup: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub threshold: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub warn_factor: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub noise_threshold: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub noise_policy: Option<NoisePolicy>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub out_dir: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub baseline_dir: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub baseline_pattern: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub markdown_template: Option<String>,
}