use lcax_models::life_cycle_base::{ImpactCategoryKey, LifeCycleModule};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[cfg(feature = "jsbindings")]
use wasm_bindgen::prelude::*;
#[cfg(feature = "jsbindings")]
use tsify_next::Tsify;
#[cfg(feature = "pybindings")]
use pyo3::prelude::*;
#[derive(Serialize, Deserialize, JsonSchema, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
#[cfg_attr(
feature = "jsbindings",
derive(Tsify),
tsify(into_wasm_abi, from_wasm_abi)
)]
#[cfg_attr(feature = "pybindings", pyclass(get_all, set_all))]
pub struct CalculationOptions {
pub reference_study_period: Option<u8>,
pub life_cycle_modules: Vec<LifeCycleModule>,
pub impact_categories: Vec<ImpactCategoryKey>,
pub overwrite_existing_results: bool,
}
#[cfg_attr(feature = "pybindings", pymethods)]
impl CalculationOptions {
#[cfg(feature = "pybindings")]
fn __repr__(&self) -> String {
"CalculationOptions".to_string()
}
#[cfg(feature = "pybindings")]
fn __str__(&self) -> String {
"CalculationOptions".to_string()
}
}