<?php
 
 
 

namespace PhpWA\Protocol\Proto;

use UnexpectedValueException;




class BotMetricsEntryPoint
{
    


    const UNDEFINED_ENTRY_POINT = 0;
    


    const FAVICON = 1;
    


    const CHATLIST = 2;
    


    const AISEARCH_NULL_STATE_PAPER_PLANE = 3;
    


    const AISEARCH_NULL_STATE_SUGGESTION = 4;
    


    const AISEARCH_TYPE_AHEAD_SUGGESTION = 5;
    


    const AISEARCH_TYPE_AHEAD_PAPER_PLANE = 6;
    


    const AISEARCH_TYPE_AHEAD_RESULT_CHATLIST = 7;
    


    const AISEARCH_TYPE_AHEAD_RESULT_MESSAGES = 8;
    


    const AIVOICE_SEARCH_BAR = 9;
    


    const AIVOICE_FAVICON = 10;
    


    const AISTUDIO = 11;
    


    const DEEPLINK = 12;
    


    const NOTIFICATION = 13;
    


    const PROFILE_MESSAGE_BUTTON = 14;
    


    const FORWARD = 15;
    


    const APP_SHORTCUT = 16;
    


    const FF_FAMILY = 17;
    


    const AI_TAB = 18;
    


    const AI_HOME = 19;
    


    const AI_DEEPLINK_IMMERSIVE = 20;
    


    const AI_DEEPLINK = 21;
    


    const META_AI_CHAT_SHORTCUT_AI_STUDIO = 22;
    


    const UGC_CHAT_SHORTCUT_AI_STUDIO = 23;
    


    const NEW_CHAT_AI_STUDIO = 24;
    


    const AIVOICE_FAVICON_CALL_HISTORY = 25;
    


    const ASK_META_AI_CONTEXT_MENU = 26;
    


    const ASK_META_AI_CONTEXT_MENU_1ON1 = 27;
    


    const ASK_META_AI_CONTEXT_MENU_GROUP = 28;
    


    const INVOKE_META_AI_1ON1 = 29;
    


    const INVOKE_META_AI_GROUP = 30;
    


    const META_AI_FORWARD = 31;
    


    const NEW_CHAT_AI_CONTACT = 32;
    


    const MESSAGE_QUICK_ACTION_1_ON_1_CHAT = 33;
    


    const MESSAGE_QUICK_ACTION_GROUP_CHAT = 34;
    


    const ATTACHMENT_TRAY_1_ON_1_CHAT = 35;
    


    const ATTACHMENT_TRAY_GROUP_CHAT = 36;
    


    const ASK_META_AI_MEDIA_VIEWER_1ON1 = 37;
    


    const ASK_META_AI_MEDIA_VIEWER_GROUP = 38;

    private static $valueToName = [
        self::UNDEFINED_ENTRY_POINT => 'UNDEFINED_ENTRY_POINT',
        self::FAVICON => 'FAVICON',
        self::CHATLIST => 'CHATLIST',
        self::AISEARCH_NULL_STATE_PAPER_PLANE => 'AISEARCH_NULL_STATE_PAPER_PLANE',
        self::AISEARCH_NULL_STATE_SUGGESTION => 'AISEARCH_NULL_STATE_SUGGESTION',
        self::AISEARCH_TYPE_AHEAD_SUGGESTION => 'AISEARCH_TYPE_AHEAD_SUGGESTION',
        self::AISEARCH_TYPE_AHEAD_PAPER_PLANE => 'AISEARCH_TYPE_AHEAD_PAPER_PLANE',
        self::AISEARCH_TYPE_AHEAD_RESULT_CHATLIST => 'AISEARCH_TYPE_AHEAD_RESULT_CHATLIST',
        self::AISEARCH_TYPE_AHEAD_RESULT_MESSAGES => 'AISEARCH_TYPE_AHEAD_RESULT_MESSAGES',
        self::AIVOICE_SEARCH_BAR => 'AIVOICE_SEARCH_BAR',
        self::AIVOICE_FAVICON => 'AIVOICE_FAVICON',
        self::AISTUDIO => 'AISTUDIO',
        self::DEEPLINK => 'DEEPLINK',
        self::NOTIFICATION => 'NOTIFICATION',
        self::PROFILE_MESSAGE_BUTTON => 'PROFILE_MESSAGE_BUTTON',
        self::FORWARD => 'FORWARD',
        self::APP_SHORTCUT => 'APP_SHORTCUT',
        self::FF_FAMILY => 'FF_FAMILY',
        self::AI_TAB => 'AI_TAB',
        self::AI_HOME => 'AI_HOME',
        self::AI_DEEPLINK_IMMERSIVE => 'AI_DEEPLINK_IMMERSIVE',
        self::AI_DEEPLINK => 'AI_DEEPLINK',
        self::META_AI_CHAT_SHORTCUT_AI_STUDIO => 'META_AI_CHAT_SHORTCUT_AI_STUDIO',
        self::UGC_CHAT_SHORTCUT_AI_STUDIO => 'UGC_CHAT_SHORTCUT_AI_STUDIO',
        self::NEW_CHAT_AI_STUDIO => 'NEW_CHAT_AI_STUDIO',
        self::AIVOICE_FAVICON_CALL_HISTORY => 'AIVOICE_FAVICON_CALL_HISTORY',
        self::ASK_META_AI_CONTEXT_MENU => 'ASK_META_AI_CONTEXT_MENU',
        self::ASK_META_AI_CONTEXT_MENU_1ON1 => 'ASK_META_AI_CONTEXT_MENU_1ON1',
        self::ASK_META_AI_CONTEXT_MENU_GROUP => 'ASK_META_AI_CONTEXT_MENU_GROUP',
        self::INVOKE_META_AI_1ON1 => 'INVOKE_META_AI_1ON1',
        self::INVOKE_META_AI_GROUP => 'INVOKE_META_AI_GROUP',
        self::META_AI_FORWARD => 'META_AI_FORWARD',
        self::NEW_CHAT_AI_CONTACT => 'NEW_CHAT_AI_CONTACT',
        self::MESSAGE_QUICK_ACTION_1_ON_1_CHAT => 'MESSAGE_QUICK_ACTION_1_ON_1_CHAT',
        self::MESSAGE_QUICK_ACTION_GROUP_CHAT => 'MESSAGE_QUICK_ACTION_GROUP_CHAT',
        self::ATTACHMENT_TRAY_1_ON_1_CHAT => 'ATTACHMENT_TRAY_1_ON_1_CHAT',
        self::ATTACHMENT_TRAY_GROUP_CHAT => 'ATTACHMENT_TRAY_GROUP_CHAT',
        self::ASK_META_AI_MEDIA_VIEWER_1ON1 => 'ASK_META_AI_MEDIA_VIEWER_1ON1',
        self::ASK_META_AI_MEDIA_VIEWER_GROUP => 'ASK_META_AI_MEDIA_VIEWER_GROUP',
    ];

    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);
    }
}

