use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Default)]
#[serde(rename_all = "camelCase")]
#[non_exhaustive]
pub struct DynamicPerformance {
#[serde(skip_serializing_if = "Option::is_none")]
pub rated_capacity_ah: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub capacity_fade_pct: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub power_w: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub power_fade_pct: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub internal_resistance_mohm: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub internal_resistance_increase_pct: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub round_trip_efficiency_pct: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub round_trip_efficiency_fade_pct: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub expected_lifetime_cycles: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub expected_lifetime_years: Option<f64>,
}