<?php

declare(strict_types=1);

namespace Drupal\flowdrop_runtime\Event;

use Symfony\Contracts\EventDispatcher\Event;

/**
 * Event dispatched when execution monitoring starts.
 *
 * @internal
 */
class MonitoringStartedEvent extends Event {

  /**
   * The event name.
   */
  const NAME = 'flowdrop_runtime.monitoring.started';

  /**
   * Constructs a new MonitoringStartedEvent.
   *
   * @param string $executionId
   *   The execution ID being monitored.
   * @param array $session
   *   The monitoring session data.
   * @param int $timestamp
   *   The event timestamp.
   * @param array $workflow
   *   The workflow data (optional, from RealTimeManager).
   */
  public function __construct(
    public readonly string $executionId,
    public readonly array $session = [],
    public readonly int $timestamp = 0,
    public readonly array $workflow = [],
  ) {}

}
