use super::{Icon, StartParameterType};
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, Deserialize, JsonSchema, PartialEq, Serialize)]
#[serde(rename = "start_parameter")]
pub struct StartParameter {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
pub id: String,
pub label: String,
#[serde(flatten)]
pub kind: StartParameterType,
#[serde(default, skip_serializing_if = "crate::is_false")]
pub required: bool,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub icon: Option<Icon>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub step: Option<f32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub work_dir: Option<String>,
}