<?php

declare(strict_types=1);

namespace App\Framework\Console\Progress;

/**
 * Enum for different types of progress indicators
 */
enum ProgressType: string
{
    case AUTO = 'auto';
    case TRACKER = 'tracker';
    case SPINNER = 'spinner';
    case BAR = 'bar';
    case NONE = 'none';

    public function getDescription(): string
    {
        return match ($this) {
            self::AUTO => 'Automatically select based on operation type',
            self::TRACKER => 'Detailed progress tracker with time estimates',
            self::SPINNER => 'Spinner for indeterminate operations',
            self::BAR => 'Simple progress bar',
            self::NONE => 'No progress indication'
        };
    }
}
