<?php
 
 
 

namespace PhpWA\Protocol\Proto;

use UnexpectedValueException;




class MutationProps
{
    


    const MUTATION_PROPS_UNSPECIFIED = 0;
    


    const STAR_ACTION = 2;
    


    const CONTACT_ACTION = 3;
    


    const MUTE_ACTION = 4;
    


    const PIN_ACTION = 5;
    


    const SECURITY_NOTIFICATION_SETTING = 6;
    


    const PUSH_NAME_SETTING = 7;
    


    const QUICK_REPLY_ACTION = 8;
    


    const RECENT_EMOJI_WEIGHTS_ACTION = 11;
    


    const LABEL_MESSAGE_ACTION = 13;
    


    const LABEL_EDIT_ACTION = 14;
    


    const LABEL_ASSOCIATION_ACTION = 15;
    


    const LOCALE_SETTING = 16;
    


    const ARCHIVE_CHAT_ACTION = 17;
    


    const DELETE_MESSAGE_FOR_ME_ACTION = 18;
    


    const KEY_EXPIRATION = 19;
    


    const MARK_CHAT_AS_READ_ACTION = 20;
    


    const CLEAR_CHAT_ACTION = 21;
    


    const DELETE_CHAT_ACTION = 22;
    


    const UNARCHIVE_CHATS_SETTING = 23;
    


    const PRIMARY_FEATURE = 24;
    


    const ANDROID_UNSUPPORTED_ACTIONS = 26;
    


    const AGENT_ACTION = 27;
    


    const SUBSCRIPTION_ACTION = 28;
    


    const USER_STATUS_MUTE_ACTION = 29;
    


    const TIME_FORMAT_ACTION = 30;
    


    const NUX_ACTION = 31;
    


    const PRIMARY_VERSION_ACTION = 32;
    


    const STICKER_ACTION = 33;
    


    const REMOVE_RECENT_STICKER_ACTION = 34;
    


    const CHAT_ASSIGNMENT = 35;
    


    const CHAT_ASSIGNMENT_OPENED_STATUS = 36;
    


    const PN_FOR_LID_CHAT_ACTION = 37;
    


    const MARKETING_MESSAGE_ACTION = 38;
    


    const MARKETING_MESSAGE_BROADCAST_ACTION = 39;
    


    const EXTERNAL_WEB_BETA_ACTION = 40;
    


    const PRIVACY_SETTING_RELAY_ALL_CALLS = 41;
    


    const CALL_LOG_ACTION = 42;
    


    const UGC_BOT = 43;
    


    const STATUS_PRIVACY = 44;
    


    const BOT_WELCOME_REQUEST_ACTION = 45;
    


    const DELETE_INDIVIDUAL_CALL_LOG = 46;
    


    const LABEL_REORDERING_ACTION = 47;
    


    const PAYMENT_INFO_ACTION = 48;
    


    const CUSTOM_PAYMENT_METHODS_ACTION = 49;
    


    const LOCK_CHAT_ACTION = 50;
    


    const CHAT_LOCK_SETTINGS = 51;
    


    const WAMO_USER_IDENTIFIER_ACTION = 52;
    


    const PRIVACY_SETTING_DISABLE_LINK_PREVIEWS_ACTION = 53;
    


    const DEVICE_CAPABILITIES = 54;
    


    const NOTE_EDIT_ACTION = 55;
    


    const FAVORITES_ACTION = 56;
    


    const MERCHANT_PAYMENT_PARTNER_ACTION = 57;
    


    const WAFFLE_ACCOUNT_LINK_STATE_ACTION = 58;
    


    const USERNAME_CHAT_START_MODE = 59;
    


    const NOTIFICATION_ACTIVITY_SETTING_ACTION = 60;
    


    const LID_CONTACT_ACTION = 61;
    


    const CTWA_PER_CUSTOMER_DATA_SHARING_ACTION = 62;
    


    const PAYMENT_TOS_ACTION = 63;
    


    const PRIVACY_SETTING_CHANNELS_PERSONALISED_RECOMMENDATION_ACTION = 64;
    


    const BUSINESS_BROADCAST_ASSOCIATION_ACTION = 65;
    


    const DETECTED_OUTCOMES_STATUS_ACTION = 66;
    


    const MAIBA_AI_FEATURES_CONTROL_ACTION = 68;
    


    const BUSINESS_BROADCAST_LIST_ACTION = 69;
    


    const MUSIC_USER_ID_ACTION = 70;
    


    const STATUS_POST_OPT_IN_NOTIFICATION_PREFERENCES_ACTION = 71;
    


    const AVATAR_UPDATED_ACTION = 72;
    


    const GALAXY_FLOW_ACTION = 73;
    


    const PRIVATE_PROCESSING_SETTING_ACTION = 74;
    


    const NEWSLETTER_SAVED_INTERESTS_ACTION = 75;
    


    const AI_THREAD_RENAME_ACTION = 76;
    


    const INTERACTIVE_MESSAGE_ACTION = 77;
    


    const SHARE_OWN_PN = 10001;
    


    const BUSINESS_BROADCAST_ACTION = 10002;

    private static $valueToName = [
        self::MUTATION_PROPS_UNSPECIFIED => 'MUTATION_PROPS_UNSPECIFIED',
        self::STAR_ACTION => 'STAR_ACTION',
        self::CONTACT_ACTION => 'CONTACT_ACTION',
        self::MUTE_ACTION => 'MUTE_ACTION',
        self::PIN_ACTION => 'PIN_ACTION',
        self::SECURITY_NOTIFICATION_SETTING => 'SECURITY_NOTIFICATION_SETTING',
        self::PUSH_NAME_SETTING => 'PUSH_NAME_SETTING',
        self::QUICK_REPLY_ACTION => 'QUICK_REPLY_ACTION',
        self::RECENT_EMOJI_WEIGHTS_ACTION => 'RECENT_EMOJI_WEIGHTS_ACTION',
        self::LABEL_MESSAGE_ACTION => 'LABEL_MESSAGE_ACTION',
        self::LABEL_EDIT_ACTION => 'LABEL_EDIT_ACTION',
        self::LABEL_ASSOCIATION_ACTION => 'LABEL_ASSOCIATION_ACTION',
        self::LOCALE_SETTING => 'LOCALE_SETTING',
        self::ARCHIVE_CHAT_ACTION => 'ARCHIVE_CHAT_ACTION',
        self::DELETE_MESSAGE_FOR_ME_ACTION => 'DELETE_MESSAGE_FOR_ME_ACTION',
        self::KEY_EXPIRATION => 'KEY_EXPIRATION',
        self::MARK_CHAT_AS_READ_ACTION => 'MARK_CHAT_AS_READ_ACTION',
        self::CLEAR_CHAT_ACTION => 'CLEAR_CHAT_ACTION',
        self::DELETE_CHAT_ACTION => 'DELETE_CHAT_ACTION',
        self::UNARCHIVE_CHATS_SETTING => 'UNARCHIVE_CHATS_SETTING',
        self::PRIMARY_FEATURE => 'PRIMARY_FEATURE',
        self::ANDROID_UNSUPPORTED_ACTIONS => 'ANDROID_UNSUPPORTED_ACTIONS',
        self::AGENT_ACTION => 'AGENT_ACTION',
        self::SUBSCRIPTION_ACTION => 'SUBSCRIPTION_ACTION',
        self::USER_STATUS_MUTE_ACTION => 'USER_STATUS_MUTE_ACTION',
        self::TIME_FORMAT_ACTION => 'TIME_FORMAT_ACTION',
        self::NUX_ACTION => 'NUX_ACTION',
        self::PRIMARY_VERSION_ACTION => 'PRIMARY_VERSION_ACTION',
        self::STICKER_ACTION => 'STICKER_ACTION',
        self::REMOVE_RECENT_STICKER_ACTION => 'REMOVE_RECENT_STICKER_ACTION',
        self::CHAT_ASSIGNMENT => 'CHAT_ASSIGNMENT',
        self::CHAT_ASSIGNMENT_OPENED_STATUS => 'CHAT_ASSIGNMENT_OPENED_STATUS',
        self::PN_FOR_LID_CHAT_ACTION => 'PN_FOR_LID_CHAT_ACTION',
        self::MARKETING_MESSAGE_ACTION => 'MARKETING_MESSAGE_ACTION',
        self::MARKETING_MESSAGE_BROADCAST_ACTION => 'MARKETING_MESSAGE_BROADCAST_ACTION',
        self::EXTERNAL_WEB_BETA_ACTION => 'EXTERNAL_WEB_BETA_ACTION',
        self::PRIVACY_SETTING_RELAY_ALL_CALLS => 'PRIVACY_SETTING_RELAY_ALL_CALLS',
        self::CALL_LOG_ACTION => 'CALL_LOG_ACTION',
        self::UGC_BOT => 'UGC_BOT',
        self::STATUS_PRIVACY => 'STATUS_PRIVACY',
        self::BOT_WELCOME_REQUEST_ACTION => 'BOT_WELCOME_REQUEST_ACTION',
        self::DELETE_INDIVIDUAL_CALL_LOG => 'DELETE_INDIVIDUAL_CALL_LOG',
        self::LABEL_REORDERING_ACTION => 'LABEL_REORDERING_ACTION',
        self::PAYMENT_INFO_ACTION => 'PAYMENT_INFO_ACTION',
        self::CUSTOM_PAYMENT_METHODS_ACTION => 'CUSTOM_PAYMENT_METHODS_ACTION',
        self::LOCK_CHAT_ACTION => 'LOCK_CHAT_ACTION',
        self::CHAT_LOCK_SETTINGS => 'CHAT_LOCK_SETTINGS',
        self::WAMO_USER_IDENTIFIER_ACTION => 'WAMO_USER_IDENTIFIER_ACTION',
        self::PRIVACY_SETTING_DISABLE_LINK_PREVIEWS_ACTION => 'PRIVACY_SETTING_DISABLE_LINK_PREVIEWS_ACTION',
        self::DEVICE_CAPABILITIES => 'DEVICE_CAPABILITIES',
        self::NOTE_EDIT_ACTION => 'NOTE_EDIT_ACTION',
        self::FAVORITES_ACTION => 'FAVORITES_ACTION',
        self::MERCHANT_PAYMENT_PARTNER_ACTION => 'MERCHANT_PAYMENT_PARTNER_ACTION',
        self::WAFFLE_ACCOUNT_LINK_STATE_ACTION => 'WAFFLE_ACCOUNT_LINK_STATE_ACTION',
        self::USERNAME_CHAT_START_MODE => 'USERNAME_CHAT_START_MODE',
        self::NOTIFICATION_ACTIVITY_SETTING_ACTION => 'NOTIFICATION_ACTIVITY_SETTING_ACTION',
        self::LID_CONTACT_ACTION => 'LID_CONTACT_ACTION',
        self::CTWA_PER_CUSTOMER_DATA_SHARING_ACTION => 'CTWA_PER_CUSTOMER_DATA_SHARING_ACTION',
        self::PAYMENT_TOS_ACTION => 'PAYMENT_TOS_ACTION',
        self::PRIVACY_SETTING_CHANNELS_PERSONALISED_RECOMMENDATION_ACTION => 'PRIVACY_SETTING_CHANNELS_PERSONALISED_RECOMMENDATION_ACTION',
        self::BUSINESS_BROADCAST_ASSOCIATION_ACTION => 'BUSINESS_BROADCAST_ASSOCIATION_ACTION',
        self::DETECTED_OUTCOMES_STATUS_ACTION => 'DETECTED_OUTCOMES_STATUS_ACTION',
        self::MAIBA_AI_FEATURES_CONTROL_ACTION => 'MAIBA_AI_FEATURES_CONTROL_ACTION',
        self::BUSINESS_BROADCAST_LIST_ACTION => 'BUSINESS_BROADCAST_LIST_ACTION',
        self::MUSIC_USER_ID_ACTION => 'MUSIC_USER_ID_ACTION',
        self::STATUS_POST_OPT_IN_NOTIFICATION_PREFERENCES_ACTION => 'STATUS_POST_OPT_IN_NOTIFICATION_PREFERENCES_ACTION',
        self::AVATAR_UPDATED_ACTION => 'AVATAR_UPDATED_ACTION',
        self::GALAXY_FLOW_ACTION => 'GALAXY_FLOW_ACTION',
        self::PRIVATE_PROCESSING_SETTING_ACTION => 'PRIVATE_PROCESSING_SETTING_ACTION',
        self::NEWSLETTER_SAVED_INTERESTS_ACTION => 'NEWSLETTER_SAVED_INTERESTS_ACTION',
        self::AI_THREAD_RENAME_ACTION => 'AI_THREAD_RENAME_ACTION',
        self::INTERACTIVE_MESSAGE_ACTION => 'INTERACTIVE_MESSAGE_ACTION',
        self::SHARE_OWN_PN => 'SHARE_OWN_PN',
        self::BUSINESS_BROADCAST_ACTION => 'BUSINESS_BROADCAST_ACTION',
    ];

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

