// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WorkflowConfigBlock {
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub id: Option<String>,
    #[serde(rename = "type")]
    pub type_: WorkflowConfigBlockType,
    pub position: WorkflowBlockPosition,
    pub label: String,
    /// Block-specific configuration
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub config: Option<std::collections::HashMap<String, serde_json::Value>>,
    /// Derived schema transport sidecar for UI/runtime consumers. Not authored config.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub resolved_schemas: Option<std::collections::HashMap<String, serde_json::Value>>,
    /// Block width for resizable blocks
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub width: Option<f64>,
    /// Block height for resizable blocks
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub height: Option<f64>,
    /// ID of parent container block (while_loop, for_each)
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub parent_id: Option<String>,
}
