using Elsa.Expressions.Models;
using JetBrains.Annotations;
using Microsoft.CodeAnalysis.Scripting;
namespace Elsa.CSharp.Contracts;
///
/// Evaluates C# expressions.
///
[PublicAPI]
public interface ICSharpEvaluator
{
///
/// Evaluates a C# expression.
///
/// The expression to evaluate.
/// The type of the return value.
/// The context in which the expression is evaluated.
/// A set of options.
/// An optional callback to configure the script options.
/// An optional callback to configure the script.
/// An optional cancellation token.
/// The result of the evaluation.
Task