#nullable enable
using System;
namespace GitHub.Actions.Expressions
{
public interface IExpressionNode
{
///
/// Evaluates the expression and returns the result, wrapped in a helper
/// for converting, comparing, and traversing objects.
///
/// Optional trace writer
/// Optional secret masker
/// State object for custom evaluation function nodes and custom named-value nodes
/// Evaluation options
EvaluationResult Evaluate(
ITraceWriter trace,
ISecretMasker? secretMasker,
Object state,
EvaluationOptions options);
}
}