use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
use ts_rs::TS;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema, TS)]
#[serde(rename_all = "lowercase")]
pub enum StrategyType {
Matrix,
}
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, TS)]
pub struct Strategy {
pub r#type: StrategyType,
#[serde(default)]
#[ts(optional, as = "Option<Vec<HashMap<String, serde_json::Value>>>")]
pub values: Option<Vec<HashMap<String, serde_json::Value>>>,
#[serde(default)]
#[ts(optional=nullable)]
pub from_state: Option<String>,
}