<?php

declare(strict_types=1);

namespace App\Framework\View;

/**
 * Defines the processing mode for template rendering
 */
enum ProcessingMode: string
{
    /**
     * Full processing - all DOM and string processors
     * Used for: Regular pages with layouts, meta tags, etc.
     */
    case FULL = 'full';

    /**
     * Component processing - template logic processors only
     * Used for: LiveComponents, partials that need ForProcessor, IfProcessor, etc.
     * Skips: Layout, Meta, Asset injection processors
     */
    case COMPONENT = 'component';

    /**
     * Minimal processing - string processors only, no DOM processing
     * Used for: Simple string replacements without template logic
     */
    case MINIMAL = 'minimal';
}
