using Elsa.Expressions.Models;
using Elsa.Sql.Models;
using JetBrains.Annotations;
namespace Elsa.Sql.Contracts;
///
/// Evaluates SQL expressions.
///
[PublicAPI]
public interface ISqlEvaluator
{
///
/// Evaluates a SQL expression.
///
/// The expression to evaluate.
/// The context in which the expression is evaluated.
/// A set of options.
/// An optional cancellation token.
/// The result.
Task EvaluateAsync(
string expression,
ExpressionExecutionContext context,
ExpressionEvaluatorOptions options,
CancellationToken cancellationToken = default);
}