<?php

declare(strict_types=1);

namespace Drupal\ffmpeg_media\ValueObject;

use Drupal\Core\StringTranslation\TranslatableMarkup;

/**
 * Categorized error with actionable suggestion.
 */
final readonly class ErrorCategory {

  /**
   * Constructs an ErrorCategory object.
   *
   * @param string $category
   *   The error category identifier.
   * @param \Drupal\Core\StringTranslation\TranslatableMarkup $label
   *   Human-readable category label.
   * @param \Drupal\Core\StringTranslation\TranslatableMarkup $suggestion
   *   Actionable suggestion for resolving the error.
   * @param string $severity
   *   Severity level: 'error', 'warning', or 'info'.
   */
  public function __construct(
    public string $category,
    public TranslatableMarkup $label,
    public TranslatableMarkup $suggestion,
    public string $severity = 'error',
  ) {}

}
