<?php
 
 
 

namespace PhpWA\Protocol\Proto\BotCapabilityMetadata;

use UnexpectedValueException;




class BotCapabilityType
{
    


    const UNKNOWN = 0;
    


    const PROGRESS_INDICATOR = 1;
    


    const RICH_RESPONSE_HEADING = 2;
    


    const RICH_RESPONSE_NESTED_LIST = 3;
    


    const AI_MEMORY = 4;
    


    const RICH_RESPONSE_THREAD_SURFING = 5;
    


    const RICH_RESPONSE_TABLE = 6;
    


    const RICH_RESPONSE_CODE = 7;
    


    const RICH_RESPONSE_STRUCTURED_RESPONSE = 8;
    


    const RICH_RESPONSE_INLINE_IMAGE = 9;
    


    const WA_IG_1P_PLUGIN_RANKING_CONTROL = 10;
    


    const WA_IG_1P_PLUGIN_RANKING_UPDATE_1 = 11;
    


    const WA_IG_1P_PLUGIN_RANKING_UPDATE_2 = 12;
    


    const WA_IG_1P_PLUGIN_RANKING_UPDATE_3 = 13;
    


    const WA_IG_1P_PLUGIN_RANKING_UPDATE_4 = 14;
    


    const WA_IG_1P_PLUGIN_RANKING_UPDATE_5 = 15;
    


    const WA_IG_1P_PLUGIN_RANKING_UPDATE_6 = 16;
    


    const WA_IG_1P_PLUGIN_RANKING_UPDATE_7 = 17;
    


    const WA_IG_1P_PLUGIN_RANKING_UPDATE_8 = 18;
    


    const WA_IG_1P_PLUGIN_RANKING_UPDATE_9 = 19;
    


    const WA_IG_1P_PLUGIN_RANKING_UPDATE_10 = 20;
    


    const RICH_RESPONSE_SUB_HEADING = 21;
    


    const RICH_RESPONSE_GRID_IMAGE = 22;
    


    const AI_STUDIO_UGC_MEMORY = 23;
    


    const RICH_RESPONSE_LATEX = 24;
    


    const RICH_RESPONSE_MAPS = 25;
    


    const RICH_RESPONSE_INLINE_REELS = 26;
    


    const AGENTIC_PLANNING = 27;
    


    const ACCOUNT_LINKING = 28;
    


    const STREAMING_DISAGGREGATION = 29;
    


    const RICH_RESPONSE_GRID_IMAGE_3P = 30;
    


    const RICH_RESPONSE_LATEX_INLINE = 31;
    


    const QUERY_PLAN = 32;
    


    const PROACTIVE_MESSAGE = 33;
    


    const RICH_RESPONSE_UNIFIED_RESPONSE = 34;
    


    const PROMOTION_MESSAGE = 35;
    


    const SIMPLIFIED_PROFILE_PAGE = 36;
    


    const RICH_RESPONSE_SOURCES_IN_MESSAGE = 37;
    


    const RICH_RESPONSE_SIDE_BY_SIDE_SURVEY = 38;
    


    const RICH_RESPONSE_UNIFIED_TEXT_COMPONENT = 39;
    


    const AI_SHARED_MEMORY = 40;
    


    const RICH_RESPONSE_UNIFIED_SOURCES = 41;
    


    const RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS = 42;
    


    const RICH_RESPONSE_UR_INLINE_REELS_ENABLED = 43;
    


    const RICH_RESPONSE_UR_MEDIA_GRID_ENABLED = 44;
    


    const RICH_RESPONSE_UR_TIMESTAMP_PLACEHOLDER = 45;
    


    const RICH_RESPONSE_IN_APP_SURVEY = 46;
    


    const AI_RESPONSE_MODEL_BRANDING = 47;
    


    const SESSION_TRANSPARENCY_SYSTEM_MESSAGE = 48;
    


    const RICH_RESPONSE_UR_REASONING = 49;

    private static $valueToName = [
        self::UNKNOWN => 'UNKNOWN',
        self::PROGRESS_INDICATOR => 'PROGRESS_INDICATOR',
        self::RICH_RESPONSE_HEADING => 'RICH_RESPONSE_HEADING',
        self::RICH_RESPONSE_NESTED_LIST => 'RICH_RESPONSE_NESTED_LIST',
        self::AI_MEMORY => 'AI_MEMORY',
        self::RICH_RESPONSE_THREAD_SURFING => 'RICH_RESPONSE_THREAD_SURFING',
        self::RICH_RESPONSE_TABLE => 'RICH_RESPONSE_TABLE',
        self::RICH_RESPONSE_CODE => 'RICH_RESPONSE_CODE',
        self::RICH_RESPONSE_STRUCTURED_RESPONSE => 'RICH_RESPONSE_STRUCTURED_RESPONSE',
        self::RICH_RESPONSE_INLINE_IMAGE => 'RICH_RESPONSE_INLINE_IMAGE',
        self::WA_IG_1P_PLUGIN_RANKING_CONTROL => 'WA_IG_1P_PLUGIN_RANKING_CONTROL',
        self::WA_IG_1P_PLUGIN_RANKING_UPDATE_1 => 'WA_IG_1P_PLUGIN_RANKING_UPDATE_1',
        self::WA_IG_1P_PLUGIN_RANKING_UPDATE_2 => 'WA_IG_1P_PLUGIN_RANKING_UPDATE_2',
        self::WA_IG_1P_PLUGIN_RANKING_UPDATE_3 => 'WA_IG_1P_PLUGIN_RANKING_UPDATE_3',
        self::WA_IG_1P_PLUGIN_RANKING_UPDATE_4 => 'WA_IG_1P_PLUGIN_RANKING_UPDATE_4',
        self::WA_IG_1P_PLUGIN_RANKING_UPDATE_5 => 'WA_IG_1P_PLUGIN_RANKING_UPDATE_5',
        self::WA_IG_1P_PLUGIN_RANKING_UPDATE_6 => 'WA_IG_1P_PLUGIN_RANKING_UPDATE_6',
        self::WA_IG_1P_PLUGIN_RANKING_UPDATE_7 => 'WA_IG_1P_PLUGIN_RANKING_UPDATE_7',
        self::WA_IG_1P_PLUGIN_RANKING_UPDATE_8 => 'WA_IG_1P_PLUGIN_RANKING_UPDATE_8',
        self::WA_IG_1P_PLUGIN_RANKING_UPDATE_9 => 'WA_IG_1P_PLUGIN_RANKING_UPDATE_9',
        self::WA_IG_1P_PLUGIN_RANKING_UPDATE_10 => 'WA_IG_1P_PLUGIN_RANKING_UPDATE_10',
        self::RICH_RESPONSE_SUB_HEADING => 'RICH_RESPONSE_SUB_HEADING',
        self::RICH_RESPONSE_GRID_IMAGE => 'RICH_RESPONSE_GRID_IMAGE',
        self::AI_STUDIO_UGC_MEMORY => 'AI_STUDIO_UGC_MEMORY',
        self::RICH_RESPONSE_LATEX => 'RICH_RESPONSE_LATEX',
        self::RICH_RESPONSE_MAPS => 'RICH_RESPONSE_MAPS',
        self::RICH_RESPONSE_INLINE_REELS => 'RICH_RESPONSE_INLINE_REELS',
        self::AGENTIC_PLANNING => 'AGENTIC_PLANNING',
        self::ACCOUNT_LINKING => 'ACCOUNT_LINKING',
        self::STREAMING_DISAGGREGATION => 'STREAMING_DISAGGREGATION',
        self::RICH_RESPONSE_GRID_IMAGE_3P => 'RICH_RESPONSE_GRID_IMAGE_3P',
        self::RICH_RESPONSE_LATEX_INLINE => 'RICH_RESPONSE_LATEX_INLINE',
        self::QUERY_PLAN => 'QUERY_PLAN',
        self::PROACTIVE_MESSAGE => 'PROACTIVE_MESSAGE',
        self::RICH_RESPONSE_UNIFIED_RESPONSE => 'RICH_RESPONSE_UNIFIED_RESPONSE',
        self::PROMOTION_MESSAGE => 'PROMOTION_MESSAGE',
        self::SIMPLIFIED_PROFILE_PAGE => 'SIMPLIFIED_PROFILE_PAGE',
        self::RICH_RESPONSE_SOURCES_IN_MESSAGE => 'RICH_RESPONSE_SOURCES_IN_MESSAGE',
        self::RICH_RESPONSE_SIDE_BY_SIDE_SURVEY => 'RICH_RESPONSE_SIDE_BY_SIDE_SURVEY',
        self::RICH_RESPONSE_UNIFIED_TEXT_COMPONENT => 'RICH_RESPONSE_UNIFIED_TEXT_COMPONENT',
        self::AI_SHARED_MEMORY => 'AI_SHARED_MEMORY',
        self::RICH_RESPONSE_UNIFIED_SOURCES => 'RICH_RESPONSE_UNIFIED_SOURCES',
        self::RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS => 'RICH_RESPONSE_UNIFIED_DOMAIN_CITATIONS',
        self::RICH_RESPONSE_UR_INLINE_REELS_ENABLED => 'RICH_RESPONSE_UR_INLINE_REELS_ENABLED',
        self::RICH_RESPONSE_UR_MEDIA_GRID_ENABLED => 'RICH_RESPONSE_UR_MEDIA_GRID_ENABLED',
        self::RICH_RESPONSE_UR_TIMESTAMP_PLACEHOLDER => 'RICH_RESPONSE_UR_TIMESTAMP_PLACEHOLDER',
        self::RICH_RESPONSE_IN_APP_SURVEY => 'RICH_RESPONSE_IN_APP_SURVEY',
        self::AI_RESPONSE_MODEL_BRANDING => 'AI_RESPONSE_MODEL_BRANDING',
        self::SESSION_TRANSPARENCY_SYSTEM_MESSAGE => 'SESSION_TRANSPARENCY_SYSTEM_MESSAGE',
        self::RICH_RESPONSE_UR_REASONING => 'RICH_RESPONSE_UR_REASONING',
    ];

    public static function name($value)
    {
        if (!isset(self::$valueToName[$value])) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no name defined for value %s', __CLASS__, $value));
        }
        return self::$valueToName[$value];
    }


    public static function value($name)
    {
        $const = __CLASS__ . '::' . strtoupper($name);
        if (!defined($const)) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no value defined for name %s', __CLASS__, $name));
        }
        return constant($const);
    }
}

