<?php

declare(strict_types=1);

namespace Drupal\flowdrop_workflow;

use Drupal\Core\Config\Entity\ConfigEntityInterface;

/**
 * Provides an interface defining a FlowDrop workflow config entity type.
 *
 * This is the config-storage flavour of a FlowDrop workflow: the
 * git-deployable, "latest by design" definition managed as site configuration.
 * The storage-neutral workflow contract (nodes, edges, ports, schema snapshot,
 * etc.) lives on the parent WorkflowDefinitionInterface; this interface only
 * adds the config-entity nature on top of it.
 *
 * Contrib modules — custom node processors, programmatic workflow callers,
 * schema consumers — may type-hint against this interface. Code that should
 * accept any workflow backend (config or a future content-entity backend)
 * should type-hint WorkflowDefinitionInterface instead. Backwards-compatible
 * additions (new methods on a default-implemented trait, new optional
 * parameters) may occur in minor releases; signature changes follow FlowDrop's
 * semver policy.
 *
 * @api
 */
interface FlowDropWorkflowInterface extends WorkflowDefinitionInterface, ConfigEntityInterface {

}
