// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
/// Per-item evaluation result for wildcard array conditions.
/// When a condition path contains .*, each array element is evaluated
/// individually with implicit AND logic (all must match).
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConditionEvaluationPerItem {
    /// Index of this item in the array
    pub index: i64,
    /// Hierarchical indices for nested arrays (e.g., [0, 2, 1] for items[0].subitems[2].field[1])
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub indices: Option<Vec<i64>>,
    /// Actual value at this index
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub actual: Option<serde_json::Value>,
    /// Whether this item matched the condition
    ///
    /// Defaults to `false`.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub matched: Option<bool>,
}
