<?php

declare(strict_types=1);

namespace Drupal\flowdrop\Plugin\FlowDropNodeProcessor;

/**
 * Marker interface for branching (gateway) node processors.
 *
 * Processors that implement this interface split workflow execution into
 * multiple paths — they are the "gateway" nodes (BPMN-style) that activate
 * one or more branches via the reserved active-branches output, as opposed to
 * regular nodes that pass straight through.
 *
 * This interface is intentionally empty. It serves as a type marker so the
 * node type UI (and any other consumer) can distinguish gateways from default
 * nodes using instanceof/is_subclass_of checks on the plugin class, which
 * provides compile-time safety that attribute-based string tags would not and
 * requires no plugin instantiation to detect.
 *
 * @see \Drupal\flowdrop\Constants\ReservedName::ACTIVE_BRANCHES
 * @see \Drupal\flowdrop\Plugin\FlowDropNodeProcessor\TriggerNodeProcessorInterface
 *
 * @api
 */
interface BranchingNodeProcessorInterface {
}
