<?php

namespace Drupal\straker_translate\FormComponent;

use Drupal\Core\Entity\ContentEntityInterface;

/**
 * Interface for Straker Translate form-bulk-action plugins.
 *
 * @package Drupal\straker_translate\FormComponent
 */
interface StrakerTranslateFormComponentBulkActionInterface extends StrakerTranslateFormComponentInterface {

  /**
   *
   */
  public function getOptions();

  /**
   *
   */
  public function executeSingle(ContentEntityInterface $entity, array $options, StrakerTranslateFormComponentBulkActionExecutor $executor, array &$context);

  /**
   *
   */
  public function execute(array $entities, array $options, StrakerTranslateFormComponentBulkActionExecutor $executor);

  /**
   *
   */
  public function isBatched();

  /**
   *
   */
  public function hasBatchBuilder();

}
