<?php

declare(strict_types=1);

namespace Drupal\ffmpeg_media\Service;

use Drupal\ffmpeg_media\ValueObject\ErrorCategory;

/**
 * Interface for error categorization service.
 *
 * @internal Runtime service, not part of the supported contrib extension API.
 */
interface ErrorCategorizationServiceInterface {

  /**
   * Categorizes an error message and provides an actionable suggestion.
   *
   * @param string $errorMessage
   *   The raw error message from FFmpeg or the conversion pipeline.
   *
   * @return \Drupal\ffmpeg_media\ValueObject\ErrorCategory
   *   Categorized error with label and suggestion.
   */
  #[\NoDiscard]
  public function categorize(string $errorMessage): ErrorCategory;

}
