using System;
using System.Collections.Generic;
using System.ComponentModel;
using GitHub.DistributedTask.Logging;
namespace GitHub.DistributedTask.Expressions2
{
[EditorBrowsable(EditorBrowsableState.Never)]
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);
}
}