Documentation
// Copyright (c) 2026, Salesforce, Inc.,
// All rights reserved.
// For full license text, see the LICENSE.txt file

// use crate::bindings::value::ValueBinding;

/// Represents top-level variables.
#[derive(Debug, Clone)]
pub enum Input<'a> {
    /// Represents the `vars` variable.
    Vars(&'a str),

    /// Represents the `payload` variable.
    Payload(Format),

    /// Represents the `attributes` variable.
    Attributes,

    /// Represents the `authentication` variable.
    Authentication,
}

/// Represents the format for the `payload` variable.
#[derive(Debug, Clone, PartialEq, Copy, Eq)]
pub enum Format {
    /// Represents JSON format.
    Json,

    /// Represents plain text format.
    PlainText,

    /// Represents XML format.
    Xml,
}