// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
/// Payload for a single block output handle.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct HandlePayload {
    /// Type of payload
    #[serde(rename = "type")]
    pub type_: HandlePayloadType,
    /// For file handles: document reference
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub document: Option<FileRef>,
    /// For JSON handles: structured data
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub data: Option<serde_json::Value>,
    /// For json_ref handles: pointer to artifact-storage JSON body
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub artifact_ref: Option<std::collections::HashMap<String, serde_json::Value>>,
    /// For json_ref handles: lightweight preview of the body
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub preview: Option<std::collections::HashMap<String, serde_json::Value>>,
}
