<?php

declare(strict_types=1);

namespace App\Framework\Sse\ValueObjects;

/**
 * SSE Channel Scope Enum
 *
 * Defines the different types of SSE channels.
 */
enum ChannelScope: string
{
    /**
     * Global channel - broadcast to all connected clients
     */
    case GLOBAL = 'global';

    /**
     * System channel - system-wide announcements
     */
    case SYSTEM = 'system';

    /**
     * Component channel - updates for specific component instances
     */
    case COMPONENT = 'component';

    /**
     * User channel - user-specific private events
     */
    case USER = 'user';

    /**
     * Presence channel - online presence in rooms
     */
    case PRESENCE = 'presence';
}
