<?php

namespace FiloBlu\Esb\Core\Expression;

use Magento\Framework\DataObject;

/**
 * Interface ExpressionInterface
 * @package FiloBlu\Esb\Core\Expression
 */
interface ExpressionInterface
{
    public function evaluate(DataObject $data): int;

    public function setField($field) : ExpressionInterface;

    public function setOperator($operator) : ExpressionInterface;

    public function setValue($value) : ExpressionInterface;

    public function getField();

    public function getOperator();

    public function getValue();
}
