<?php
 
 
 

namespace PhpWA\Protocol\Proto;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBUtil;
use Google\Protobuf\RepeatedField;




class Message extends \Google\Protobuf\Internal\Message
{
    


    protected $conversation = null;
    


    protected $senderKeyDistributionMessage = null;
    


    protected $imageMessage = null;
    


    protected $contactMessage = null;
    


    protected $locationMessage = null;
    


    protected $extendedTextMessage = null;
    


    protected $documentMessage = null;
    


    protected $audioMessage = null;
    


    protected $videoMessage = null;
    


    protected $call = null;
    


    protected $chat = null;
    


    protected $protocolMessage = null;
    


    protected $contactsArrayMessage = null;
    


    protected $highlyStructuredMessage = null;
    


    protected $fastRatchetKeySenderKeyDistributionMessage = null;
    


    protected $sendPaymentMessage = null;
    


    protected $liveLocationMessage = null;
    


    protected $requestPaymentMessage = null;
    


    protected $declinePaymentRequestMessage = null;
    


    protected $cancelPaymentRequestMessage = null;
    


    protected $templateMessage = null;
    


    protected $stickerMessage = null;
    


    protected $groupInviteMessage = null;
    


    protected $templateButtonReplyMessage = null;
    


    protected $productMessage = null;
    


    protected $deviceSentMessage = null;
    


    protected $messageContextInfo = null;
    


    protected $listMessage = null;
    


    protected $viewOnceMessage = null;
    


    protected $orderMessage = null;
    


    protected $listResponseMessage = null;
    


    protected $ephemeralMessage = null;
    


    protected $invoiceMessage = null;
    


    protected $buttonsMessage = null;
    


    protected $buttonsResponseMessage = null;
    


    protected $paymentInviteMessage = null;
    


    protected $interactiveMessage = null;
    


    protected $reactionMessage = null;
    


    protected $stickerSyncRmrMessage = null;
    


    protected $interactiveResponseMessage = null;
    


    protected $pollCreationMessage = null;
    


    protected $pollUpdateMessage = null;
    


    protected $keepInChatMessage = null;
    


    protected $documentWithCaptionMessage = null;
    


    protected $requestPhoneNumberMessage = null;
    


    protected $viewOnceMessageV2 = null;
    


    protected $encReactionMessage = null;
    


    protected $editedMessage = null;
    


    protected $viewOnceMessageV2Extension = null;
    


    protected $pollCreationMessageV2 = null;
    


    protected $scheduledCallCreationMessage = null;
    


    protected $groupMentionedMessage = null;
    


    protected $pinInChatMessage = null;
    


    protected $pollCreationMessageV3 = null;
    


    protected $scheduledCallEditMessage = null;
    


    protected $ptvMessage = null;
    


    protected $botInvokeMessage = null;
    


    protected $callLogMesssage = null;
    


    protected $messageHistoryBundle = null;
    


    protected $encCommentMessage = null;
    


    protected $bcallMessage = null;
    


    protected $lottieStickerMessage = null;
    


    protected $eventMessage = null;
    


    protected $encEventResponseMessage = null;
    


    protected $commentMessage = null;
    


    protected $newsletterAdminInviteMessage = null;
    


    protected $placeholderMessage = null;
    


    protected $secretEncryptedMessage = null;
    


    protected $albumMessage = null;
    


    protected $eventCoverImage = null;
    


    protected $stickerPackMessage = null;
    


    protected $statusMentionMessage = null;
    


    protected $pollResultSnapshotMessage = null;
    


    protected $pollCreationOptionImageMessage = null;
    


    protected $associatedChildMessage = null;
    


    protected $groupStatusMentionMessage = null;
    


    protected $pollCreationMessageV4 = null;
    


    protected $statusAddYours = null;
    


    protected $groupStatusMessage = null;
    


    protected $richResponseMessage = null;
    


    protected $statusNotificationMessage = null;
    


    protected $limitSharingMessage = null;
    


    protected $botTaskMessage = null;
    


    protected $questionMessage = null;
    


    protected $messageHistoryNotice = null;
    


    protected $groupStatusMessageV2 = null;
    


    protected $botForwardedMessage = null;
    


    protected $statusQuestionAnswerMessage = null;
    


    protected $questionReplyMessage = null;
    


    protected $questionResponseMessage = null;
    


    protected $statusQuotedMessage = null;
    


    protected $statusStickerInteractionMessage = null;
    


    protected $pollCreationMessageV5 = null;
    


    protected $newsletterFollowerInviteMessageV2 = null;
    


    protected $pollResultSnapshotMessageV3 = null;

    






































































































    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    



    public function getConversation()
    {
        return isset($this->conversation) ? $this->conversation : '';
    }

    public function hasConversation()
    {
        return isset($this->conversation);
    }

    public function clearConversation()
    {
        unset($this->conversation);
    }

    




    public function setConversation($var)
    {
        GPBUtil::checkString($var, True);
        $this->conversation = $var;

        return $this;
    }

    



    public function getSenderKeyDistributionMessage()
    {
        return $this->senderKeyDistributionMessage;
    }

    public function hasSenderKeyDistributionMessage()
    {
        return isset($this->senderKeyDistributionMessage);
    }

    public function clearSenderKeyDistributionMessage()
    {
        unset($this->senderKeyDistributionMessage);
    }

    




    public function setSenderKeyDistributionMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\SenderKeyDistributionMessage::class);
        $this->senderKeyDistributionMessage = $var;

        return $this;
    }

    



    public function getImageMessage()
    {
        return $this->imageMessage;
    }

    public function hasImageMessage()
    {
        return isset($this->imageMessage);
    }

    public function clearImageMessage()
    {
        unset($this->imageMessage);
    }

    




    public function setImageMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ImageMessage::class);
        $this->imageMessage = $var;

        return $this;
    }

    



    public function getContactMessage()
    {
        return $this->contactMessage;
    }

    public function hasContactMessage()
    {
        return isset($this->contactMessage);
    }

    public function clearContactMessage()
    {
        unset($this->contactMessage);
    }

    




    public function setContactMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ContactMessage::class);
        $this->contactMessage = $var;

        return $this;
    }

    



    public function getLocationMessage()
    {
        return $this->locationMessage;
    }

    public function hasLocationMessage()
    {
        return isset($this->locationMessage);
    }

    public function clearLocationMessage()
    {
        unset($this->locationMessage);
    }

    




    public function setLocationMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\LocationMessage::class);
        $this->locationMessage = $var;

        return $this;
    }

    



    public function getExtendedTextMessage()
    {
        return $this->extendedTextMessage;
    }

    public function hasExtendedTextMessage()
    {
        return isset($this->extendedTextMessage);
    }

    public function clearExtendedTextMessage()
    {
        unset($this->extendedTextMessage);
    }

    




    public function setExtendedTextMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ExtendedTextMessage::class);
        $this->extendedTextMessage = $var;

        return $this;
    }

    



    public function getDocumentMessage()
    {
        return $this->documentMessage;
    }

    public function hasDocumentMessage()
    {
        return isset($this->documentMessage);
    }

    public function clearDocumentMessage()
    {
        unset($this->documentMessage);
    }

    




    public function setDocumentMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\DocumentMessage::class);
        $this->documentMessage = $var;

        return $this;
    }

    



    public function getAudioMessage()
    {
        return $this->audioMessage;
    }

    public function hasAudioMessage()
    {
        return isset($this->audioMessage);
    }

    public function clearAudioMessage()
    {
        unset($this->audioMessage);
    }

    




    public function setAudioMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\AudioMessage::class);
        $this->audioMessage = $var;

        return $this;
    }

    



    public function getVideoMessage()
    {
        return $this->videoMessage;
    }

    public function hasVideoMessage()
    {
        return isset($this->videoMessage);
    }

    public function clearVideoMessage()
    {
        unset($this->videoMessage);
    }

    




    public function setVideoMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\VideoMessage::class);
        $this->videoMessage = $var;

        return $this;
    }

    



    public function getCall()
    {
        return $this->call;
    }

    public function hasCall()
    {
        return isset($this->call);
    }

    public function clearCall()
    {
        unset($this->call);
    }

    




    public function setCall($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\Call::class);
        $this->call = $var;

        return $this;
    }

    



    public function getChat()
    {
        return $this->chat;
    }

    public function hasChat()
    {
        return isset($this->chat);
    }

    public function clearChat()
    {
        unset($this->chat);
    }

    




    public function setChat($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\Chat::class);
        $this->chat = $var;

        return $this;
    }

    



    public function getProtocolMessage()
    {
        return $this->protocolMessage;
    }

    public function hasProtocolMessage()
    {
        return isset($this->protocolMessage);
    }

    public function clearProtocolMessage()
    {
        unset($this->protocolMessage);
    }

    




    public function setProtocolMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ProtocolMessage::class);
        $this->protocolMessage = $var;

        return $this;
    }

    



    public function getContactsArrayMessage()
    {
        return $this->contactsArrayMessage;
    }

    public function hasContactsArrayMessage()
    {
        return isset($this->contactsArrayMessage);
    }

    public function clearContactsArrayMessage()
    {
        unset($this->contactsArrayMessage);
    }

    




    public function setContactsArrayMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ContactsArrayMessage::class);
        $this->contactsArrayMessage = $var;

        return $this;
    }

    



    public function getHighlyStructuredMessage()
    {
        return $this->highlyStructuredMessage;
    }

    public function hasHighlyStructuredMessage()
    {
        return isset($this->highlyStructuredMessage);
    }

    public function clearHighlyStructuredMessage()
    {
        unset($this->highlyStructuredMessage);
    }

    




    public function setHighlyStructuredMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\HighlyStructuredMessage::class);
        $this->highlyStructuredMessage = $var;

        return $this;
    }

    



    public function getFastRatchetKeySenderKeyDistributionMessage()
    {
        return $this->fastRatchetKeySenderKeyDistributionMessage;
    }

    public function hasFastRatchetKeySenderKeyDistributionMessage()
    {
        return isset($this->fastRatchetKeySenderKeyDistributionMessage);
    }

    public function clearFastRatchetKeySenderKeyDistributionMessage()
    {
        unset($this->fastRatchetKeySenderKeyDistributionMessage);
    }

    




    public function setFastRatchetKeySenderKeyDistributionMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\SenderKeyDistributionMessage::class);
        $this->fastRatchetKeySenderKeyDistributionMessage = $var;

        return $this;
    }

    



    public function getSendPaymentMessage()
    {
        return $this->sendPaymentMessage;
    }

    public function hasSendPaymentMessage()
    {
        return isset($this->sendPaymentMessage);
    }

    public function clearSendPaymentMessage()
    {
        unset($this->sendPaymentMessage);
    }

    




    public function setSendPaymentMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\SendPaymentMessage::class);
        $this->sendPaymentMessage = $var;

        return $this;
    }

    



    public function getLiveLocationMessage()
    {
        return $this->liveLocationMessage;
    }

    public function hasLiveLocationMessage()
    {
        return isset($this->liveLocationMessage);
    }

    public function clearLiveLocationMessage()
    {
        unset($this->liveLocationMessage);
    }

    




    public function setLiveLocationMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\LiveLocationMessage::class);
        $this->liveLocationMessage = $var;

        return $this;
    }

    



    public function getRequestPaymentMessage()
    {
        return $this->requestPaymentMessage;
    }

    public function hasRequestPaymentMessage()
    {
        return isset($this->requestPaymentMessage);
    }

    public function clearRequestPaymentMessage()
    {
        unset($this->requestPaymentMessage);
    }

    




    public function setRequestPaymentMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\RequestPaymentMessage::class);
        $this->requestPaymentMessage = $var;

        return $this;
    }

    



    public function getDeclinePaymentRequestMessage()
    {
        return $this->declinePaymentRequestMessage;
    }

    public function hasDeclinePaymentRequestMessage()
    {
        return isset($this->declinePaymentRequestMessage);
    }

    public function clearDeclinePaymentRequestMessage()
    {
        unset($this->declinePaymentRequestMessage);
    }

    




    public function setDeclinePaymentRequestMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\DeclinePaymentRequestMessage::class);
        $this->declinePaymentRequestMessage = $var;

        return $this;
    }

    



    public function getCancelPaymentRequestMessage()
    {
        return $this->cancelPaymentRequestMessage;
    }

    public function hasCancelPaymentRequestMessage()
    {
        return isset($this->cancelPaymentRequestMessage);
    }

    public function clearCancelPaymentRequestMessage()
    {
        unset($this->cancelPaymentRequestMessage);
    }

    




    public function setCancelPaymentRequestMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\CancelPaymentRequestMessage::class);
        $this->cancelPaymentRequestMessage = $var;

        return $this;
    }

    



    public function getTemplateMessage()
    {
        return $this->templateMessage;
    }

    public function hasTemplateMessage()
    {
        return isset($this->templateMessage);
    }

    public function clearTemplateMessage()
    {
        unset($this->templateMessage);
    }

    




    public function setTemplateMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\TemplateMessage::class);
        $this->templateMessage = $var;

        return $this;
    }

    



    public function getStickerMessage()
    {
        return $this->stickerMessage;
    }

    public function hasStickerMessage()
    {
        return isset($this->stickerMessage);
    }

    public function clearStickerMessage()
    {
        unset($this->stickerMessage);
    }

    




    public function setStickerMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\StickerMessage::class);
        $this->stickerMessage = $var;

        return $this;
    }

    



    public function getGroupInviteMessage()
    {
        return $this->groupInviteMessage;
    }

    public function hasGroupInviteMessage()
    {
        return isset($this->groupInviteMessage);
    }

    public function clearGroupInviteMessage()
    {
        unset($this->groupInviteMessage);
    }

    




    public function setGroupInviteMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\GroupInviteMessage::class);
        $this->groupInviteMessage = $var;

        return $this;
    }

    



    public function getTemplateButtonReplyMessage()
    {
        return $this->templateButtonReplyMessage;
    }

    public function hasTemplateButtonReplyMessage()
    {
        return isset($this->templateButtonReplyMessage);
    }

    public function clearTemplateButtonReplyMessage()
    {
        unset($this->templateButtonReplyMessage);
    }

    




    public function setTemplateButtonReplyMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\TemplateButtonReplyMessage::class);
        $this->templateButtonReplyMessage = $var;

        return $this;
    }

    



    public function getProductMessage()
    {
        return $this->productMessage;
    }

    public function hasProductMessage()
    {
        return isset($this->productMessage);
    }

    public function clearProductMessage()
    {
        unset($this->productMessage);
    }

    




    public function setProductMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ProductMessage::class);
        $this->productMessage = $var;

        return $this;
    }

    



    public function getDeviceSentMessage()
    {
        return $this->deviceSentMessage;
    }

    public function hasDeviceSentMessage()
    {
        return isset($this->deviceSentMessage);
    }

    public function clearDeviceSentMessage()
    {
        unset($this->deviceSentMessage);
    }

    




    public function setDeviceSentMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\DeviceSentMessage::class);
        $this->deviceSentMessage = $var;

        return $this;
    }

    



    public function getMessageContextInfo()
    {
        return $this->messageContextInfo;
    }

    public function hasMessageContextInfo()
    {
        return isset($this->messageContextInfo);
    }

    public function clearMessageContextInfo()
    {
        unset($this->messageContextInfo);
    }

    




    public function setMessageContextInfo($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\MessageContextInfo::class);
        $this->messageContextInfo = $var;

        return $this;
    }

    



    public function getListMessage()
    {
        return $this->listMessage;
    }

    public function hasListMessage()
    {
        return isset($this->listMessage);
    }

    public function clearListMessage()
    {
        unset($this->listMessage);
    }

    




    public function setListMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ListMessage::class);
        $this->listMessage = $var;

        return $this;
    }

    



    public function getViewOnceMessage()
    {
        return $this->viewOnceMessage;
    }

    public function hasViewOnceMessage()
    {
        return isset($this->viewOnceMessage);
    }

    public function clearViewOnceMessage()
    {
        unset($this->viewOnceMessage);
    }

    




    public function setViewOnceMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->viewOnceMessage = $var;

        return $this;
    }

    



    public function getOrderMessage()
    {
        return $this->orderMessage;
    }

    public function hasOrderMessage()
    {
        return isset($this->orderMessage);
    }

    public function clearOrderMessage()
    {
        unset($this->orderMessage);
    }

    




    public function setOrderMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\OrderMessage::class);
        $this->orderMessage = $var;

        return $this;
    }

    



    public function getListResponseMessage()
    {
        return $this->listResponseMessage;
    }

    public function hasListResponseMessage()
    {
        return isset($this->listResponseMessage);
    }

    public function clearListResponseMessage()
    {
        unset($this->listResponseMessage);
    }

    




    public function setListResponseMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ListResponseMessage::class);
        $this->listResponseMessage = $var;

        return $this;
    }

    



    public function getEphemeralMessage()
    {
        return $this->ephemeralMessage;
    }

    public function hasEphemeralMessage()
    {
        return isset($this->ephemeralMessage);
    }

    public function clearEphemeralMessage()
    {
        unset($this->ephemeralMessage);
    }

    




    public function setEphemeralMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->ephemeralMessage = $var;

        return $this;
    }

    



    public function getInvoiceMessage()
    {
        return $this->invoiceMessage;
    }

    public function hasInvoiceMessage()
    {
        return isset($this->invoiceMessage);
    }

    public function clearInvoiceMessage()
    {
        unset($this->invoiceMessage);
    }

    




    public function setInvoiceMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\InvoiceMessage::class);
        $this->invoiceMessage = $var;

        return $this;
    }

    



    public function getButtonsMessage()
    {
        return $this->buttonsMessage;
    }

    public function hasButtonsMessage()
    {
        return isset($this->buttonsMessage);
    }

    public function clearButtonsMessage()
    {
        unset($this->buttonsMessage);
    }

    




    public function setButtonsMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ButtonsMessage::class);
        $this->buttonsMessage = $var;

        return $this;
    }

    



    public function getButtonsResponseMessage()
    {
        return $this->buttonsResponseMessage;
    }

    public function hasButtonsResponseMessage()
    {
        return isset($this->buttonsResponseMessage);
    }

    public function clearButtonsResponseMessage()
    {
        unset($this->buttonsResponseMessage);
    }

    




    public function setButtonsResponseMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ButtonsResponseMessage::class);
        $this->buttonsResponseMessage = $var;

        return $this;
    }

    



    public function getPaymentInviteMessage()
    {
        return $this->paymentInviteMessage;
    }

    public function hasPaymentInviteMessage()
    {
        return isset($this->paymentInviteMessage);
    }

    public function clearPaymentInviteMessage()
    {
        unset($this->paymentInviteMessage);
    }

    




    public function setPaymentInviteMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PaymentInviteMessage::class);
        $this->paymentInviteMessage = $var;

        return $this;
    }

    



    public function getInteractiveMessage()
    {
        return $this->interactiveMessage;
    }

    public function hasInteractiveMessage()
    {
        return isset($this->interactiveMessage);
    }

    public function clearInteractiveMessage()
    {
        unset($this->interactiveMessage);
    }

    




    public function setInteractiveMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\InteractiveMessage::class);
        $this->interactiveMessage = $var;

        return $this;
    }

    



    public function getReactionMessage()
    {
        return $this->reactionMessage;
    }

    public function hasReactionMessage()
    {
        return isset($this->reactionMessage);
    }

    public function clearReactionMessage()
    {
        unset($this->reactionMessage);
    }

    




    public function setReactionMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ReactionMessage::class);
        $this->reactionMessage = $var;

        return $this;
    }

    



    public function getStickerSyncRmrMessage()
    {
        return $this->stickerSyncRmrMessage;
    }

    public function hasStickerSyncRmrMessage()
    {
        return isset($this->stickerSyncRmrMessage);
    }

    public function clearStickerSyncRmrMessage()
    {
        unset($this->stickerSyncRmrMessage);
    }

    




    public function setStickerSyncRmrMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\StickerSyncRMRMessage::class);
        $this->stickerSyncRmrMessage = $var;

        return $this;
    }

    



    public function getInteractiveResponseMessage()
    {
        return $this->interactiveResponseMessage;
    }

    public function hasInteractiveResponseMessage()
    {
        return isset($this->interactiveResponseMessage);
    }

    public function clearInteractiveResponseMessage()
    {
        unset($this->interactiveResponseMessage);
    }

    




    public function setInteractiveResponseMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\InteractiveResponseMessage::class);
        $this->interactiveResponseMessage = $var;

        return $this;
    }

    



    public function getPollCreationMessage()
    {
        return $this->pollCreationMessage;
    }

    public function hasPollCreationMessage()
    {
        return isset($this->pollCreationMessage);
    }

    public function clearPollCreationMessage()
    {
        unset($this->pollCreationMessage);
    }

    




    public function setPollCreationMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PollCreationMessage::class);
        $this->pollCreationMessage = $var;

        return $this;
    }

    



    public function getPollUpdateMessage()
    {
        return $this->pollUpdateMessage;
    }

    public function hasPollUpdateMessage()
    {
        return isset($this->pollUpdateMessage);
    }

    public function clearPollUpdateMessage()
    {
        unset($this->pollUpdateMessage);
    }

    




    public function setPollUpdateMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PollUpdateMessage::class);
        $this->pollUpdateMessage = $var;

        return $this;
    }

    



    public function getKeepInChatMessage()
    {
        return $this->keepInChatMessage;
    }

    public function hasKeepInChatMessage()
    {
        return isset($this->keepInChatMessage);
    }

    public function clearKeepInChatMessage()
    {
        unset($this->keepInChatMessage);
    }

    




    public function setKeepInChatMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\KeepInChatMessage::class);
        $this->keepInChatMessage = $var;

        return $this;
    }

    



    public function getDocumentWithCaptionMessage()
    {
        return $this->documentWithCaptionMessage;
    }

    public function hasDocumentWithCaptionMessage()
    {
        return isset($this->documentWithCaptionMessage);
    }

    public function clearDocumentWithCaptionMessage()
    {
        unset($this->documentWithCaptionMessage);
    }

    




    public function setDocumentWithCaptionMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->documentWithCaptionMessage = $var;

        return $this;
    }

    



    public function getRequestPhoneNumberMessage()
    {
        return $this->requestPhoneNumberMessage;
    }

    public function hasRequestPhoneNumberMessage()
    {
        return isset($this->requestPhoneNumberMessage);
    }

    public function clearRequestPhoneNumberMessage()
    {
        unset($this->requestPhoneNumberMessage);
    }

    




    public function setRequestPhoneNumberMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\RequestPhoneNumberMessage::class);
        $this->requestPhoneNumberMessage = $var;

        return $this;
    }

    



    public function getViewOnceMessageV2()
    {
        return $this->viewOnceMessageV2;
    }

    public function hasViewOnceMessageV2()
    {
        return isset($this->viewOnceMessageV2);
    }

    public function clearViewOnceMessageV2()
    {
        unset($this->viewOnceMessageV2);
    }

    




    public function setViewOnceMessageV2($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->viewOnceMessageV2 = $var;

        return $this;
    }

    



    public function getEncReactionMessage()
    {
        return $this->encReactionMessage;
    }

    public function hasEncReactionMessage()
    {
        return isset($this->encReactionMessage);
    }

    public function clearEncReactionMessage()
    {
        unset($this->encReactionMessage);
    }

    




    public function setEncReactionMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\EncReactionMessage::class);
        $this->encReactionMessage = $var;

        return $this;
    }

    



    public function getEditedMessage()
    {
        return $this->editedMessage;
    }

    public function hasEditedMessage()
    {
        return isset($this->editedMessage);
    }

    public function clearEditedMessage()
    {
        unset($this->editedMessage);
    }

    




    public function setEditedMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->editedMessage = $var;

        return $this;
    }

    



    public function getViewOnceMessageV2Extension()
    {
        return $this->viewOnceMessageV2Extension;
    }

    public function hasViewOnceMessageV2Extension()
    {
        return isset($this->viewOnceMessageV2Extension);
    }

    public function clearViewOnceMessageV2Extension()
    {
        unset($this->viewOnceMessageV2Extension);
    }

    




    public function setViewOnceMessageV2Extension($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->viewOnceMessageV2Extension = $var;

        return $this;
    }

    



    public function getPollCreationMessageV2()
    {
        return $this->pollCreationMessageV2;
    }

    public function hasPollCreationMessageV2()
    {
        return isset($this->pollCreationMessageV2);
    }

    public function clearPollCreationMessageV2()
    {
        unset($this->pollCreationMessageV2);
    }

    




    public function setPollCreationMessageV2($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PollCreationMessage::class);
        $this->pollCreationMessageV2 = $var;

        return $this;
    }

    



    public function getScheduledCallCreationMessage()
    {
        return $this->scheduledCallCreationMessage;
    }

    public function hasScheduledCallCreationMessage()
    {
        return isset($this->scheduledCallCreationMessage);
    }

    public function clearScheduledCallCreationMessage()
    {
        unset($this->scheduledCallCreationMessage);
    }

    




    public function setScheduledCallCreationMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ScheduledCallCreationMessage::class);
        $this->scheduledCallCreationMessage = $var;

        return $this;
    }

    



    public function getGroupMentionedMessage()
    {
        return $this->groupMentionedMessage;
    }

    public function hasGroupMentionedMessage()
    {
        return isset($this->groupMentionedMessage);
    }

    public function clearGroupMentionedMessage()
    {
        unset($this->groupMentionedMessage);
    }

    




    public function setGroupMentionedMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->groupMentionedMessage = $var;

        return $this;
    }

    



    public function getPinInChatMessage()
    {
        return $this->pinInChatMessage;
    }

    public function hasPinInChatMessage()
    {
        return isset($this->pinInChatMessage);
    }

    public function clearPinInChatMessage()
    {
        unset($this->pinInChatMessage);
    }

    




    public function setPinInChatMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PinInChatMessage::class);
        $this->pinInChatMessage = $var;

        return $this;
    }

    



    public function getPollCreationMessageV3()
    {
        return $this->pollCreationMessageV3;
    }

    public function hasPollCreationMessageV3()
    {
        return isset($this->pollCreationMessageV3);
    }

    public function clearPollCreationMessageV3()
    {
        unset($this->pollCreationMessageV3);
    }

    




    public function setPollCreationMessageV3($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PollCreationMessage::class);
        $this->pollCreationMessageV3 = $var;

        return $this;
    }

    



    public function getScheduledCallEditMessage()
    {
        return $this->scheduledCallEditMessage;
    }

    public function hasScheduledCallEditMessage()
    {
        return isset($this->scheduledCallEditMessage);
    }

    public function clearScheduledCallEditMessage()
    {
        unset($this->scheduledCallEditMessage);
    }

    




    public function setScheduledCallEditMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\ScheduledCallEditMessage::class);
        $this->scheduledCallEditMessage = $var;

        return $this;
    }

    



    public function getPtvMessage()
    {
        return $this->ptvMessage;
    }

    public function hasPtvMessage()
    {
        return isset($this->ptvMessage);
    }

    public function clearPtvMessage()
    {
        unset($this->ptvMessage);
    }

    




    public function setPtvMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\VideoMessage::class);
        $this->ptvMessage = $var;

        return $this;
    }

    



    public function getBotInvokeMessage()
    {
        return $this->botInvokeMessage;
    }

    public function hasBotInvokeMessage()
    {
        return isset($this->botInvokeMessage);
    }

    public function clearBotInvokeMessage()
    {
        unset($this->botInvokeMessage);
    }

    




    public function setBotInvokeMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->botInvokeMessage = $var;

        return $this;
    }

    



    public function getCallLogMesssage()
    {
        return $this->callLogMesssage;
    }

    public function hasCallLogMesssage()
    {
        return isset($this->callLogMesssage);
    }

    public function clearCallLogMesssage()
    {
        unset($this->callLogMesssage);
    }

    




    public function setCallLogMesssage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\CallLogMessage::class);
        $this->callLogMesssage = $var;

        return $this;
    }

    



    public function getMessageHistoryBundle()
    {
        return $this->messageHistoryBundle;
    }

    public function hasMessageHistoryBundle()
    {
        return isset($this->messageHistoryBundle);
    }

    public function clearMessageHistoryBundle()
    {
        unset($this->messageHistoryBundle);
    }

    




    public function setMessageHistoryBundle($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\MessageHistoryBundle::class);
        $this->messageHistoryBundle = $var;

        return $this;
    }

    



    public function getEncCommentMessage()
    {
        return $this->encCommentMessage;
    }

    public function hasEncCommentMessage()
    {
        return isset($this->encCommentMessage);
    }

    public function clearEncCommentMessage()
    {
        unset($this->encCommentMessage);
    }

    




    public function setEncCommentMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\EncCommentMessage::class);
        $this->encCommentMessage = $var;

        return $this;
    }

    



    public function getBcallMessage()
    {
        return $this->bcallMessage;
    }

    public function hasBcallMessage()
    {
        return isset($this->bcallMessage);
    }

    public function clearBcallMessage()
    {
        unset($this->bcallMessage);
    }

    




    public function setBcallMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\BCallMessage::class);
        $this->bcallMessage = $var;

        return $this;
    }

    



    public function getLottieStickerMessage()
    {
        return $this->lottieStickerMessage;
    }

    public function hasLottieStickerMessage()
    {
        return isset($this->lottieStickerMessage);
    }

    public function clearLottieStickerMessage()
    {
        unset($this->lottieStickerMessage);
    }

    




    public function setLottieStickerMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->lottieStickerMessage = $var;

        return $this;
    }

    



    public function getEventMessage()
    {
        return $this->eventMessage;
    }

    public function hasEventMessage()
    {
        return isset($this->eventMessage);
    }

    public function clearEventMessage()
    {
        unset($this->eventMessage);
    }

    




    public function setEventMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\EventMessage::class);
        $this->eventMessage = $var;

        return $this;
    }

    



    public function getEncEventResponseMessage()
    {
        return $this->encEventResponseMessage;
    }

    public function hasEncEventResponseMessage()
    {
        return isset($this->encEventResponseMessage);
    }

    public function clearEncEventResponseMessage()
    {
        unset($this->encEventResponseMessage);
    }

    




    public function setEncEventResponseMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\EncEventResponseMessage::class);
        $this->encEventResponseMessage = $var;

        return $this;
    }

    



    public function getCommentMessage()
    {
        return $this->commentMessage;
    }

    public function hasCommentMessage()
    {
        return isset($this->commentMessage);
    }

    public function clearCommentMessage()
    {
        unset($this->commentMessage);
    }

    




    public function setCommentMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\CommentMessage::class);
        $this->commentMessage = $var;

        return $this;
    }

    



    public function getNewsletterAdminInviteMessage()
    {
        return $this->newsletterAdminInviteMessage;
    }

    public function hasNewsletterAdminInviteMessage()
    {
        return isset($this->newsletterAdminInviteMessage);
    }

    public function clearNewsletterAdminInviteMessage()
    {
        unset($this->newsletterAdminInviteMessage);
    }

    




    public function setNewsletterAdminInviteMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\NewsletterAdminInviteMessage::class);
        $this->newsletterAdminInviteMessage = $var;

        return $this;
    }

    



    public function getPlaceholderMessage()
    {
        return $this->placeholderMessage;
    }

    public function hasPlaceholderMessage()
    {
        return isset($this->placeholderMessage);
    }

    public function clearPlaceholderMessage()
    {
        unset($this->placeholderMessage);
    }

    




    public function setPlaceholderMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PlaceholderMessage::class);
        $this->placeholderMessage = $var;

        return $this;
    }

    



    public function getSecretEncryptedMessage()
    {
        return $this->secretEncryptedMessage;
    }

    public function hasSecretEncryptedMessage()
    {
        return isset($this->secretEncryptedMessage);
    }

    public function clearSecretEncryptedMessage()
    {
        unset($this->secretEncryptedMessage);
    }

    




    public function setSecretEncryptedMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\SecretEncryptedMessage::class);
        $this->secretEncryptedMessage = $var;

        return $this;
    }

    



    public function getAlbumMessage()
    {
        return $this->albumMessage;
    }

    public function hasAlbumMessage()
    {
        return isset($this->albumMessage);
    }

    public function clearAlbumMessage()
    {
        unset($this->albumMessage);
    }

    




    public function setAlbumMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\AlbumMessage::class);
        $this->albumMessage = $var;

        return $this;
    }

    



    public function getEventCoverImage()
    {
        return $this->eventCoverImage;
    }

    public function hasEventCoverImage()
    {
        return isset($this->eventCoverImage);
    }

    public function clearEventCoverImage()
    {
        unset($this->eventCoverImage);
    }

    




    public function setEventCoverImage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->eventCoverImage = $var;

        return $this;
    }

    



    public function getStickerPackMessage()
    {
        return $this->stickerPackMessage;
    }

    public function hasStickerPackMessage()
    {
        return isset($this->stickerPackMessage);
    }

    public function clearStickerPackMessage()
    {
        unset($this->stickerPackMessage);
    }

    




    public function setStickerPackMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\StickerPackMessage::class);
        $this->stickerPackMessage = $var;

        return $this;
    }

    



    public function getStatusMentionMessage()
    {
        return $this->statusMentionMessage;
    }

    public function hasStatusMentionMessage()
    {
        return isset($this->statusMentionMessage);
    }

    public function clearStatusMentionMessage()
    {
        unset($this->statusMentionMessage);
    }

    




    public function setStatusMentionMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->statusMentionMessage = $var;

        return $this;
    }

    



    public function getPollResultSnapshotMessage()
    {
        return $this->pollResultSnapshotMessage;
    }

    public function hasPollResultSnapshotMessage()
    {
        return isset($this->pollResultSnapshotMessage);
    }

    public function clearPollResultSnapshotMessage()
    {
        unset($this->pollResultSnapshotMessage);
    }

    




    public function setPollResultSnapshotMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PollResultSnapshotMessage::class);
        $this->pollResultSnapshotMessage = $var;

        return $this;
    }

    



    public function getPollCreationOptionImageMessage()
    {
        return $this->pollCreationOptionImageMessage;
    }

    public function hasPollCreationOptionImageMessage()
    {
        return isset($this->pollCreationOptionImageMessage);
    }

    public function clearPollCreationOptionImageMessage()
    {
        unset($this->pollCreationOptionImageMessage);
    }

    




    public function setPollCreationOptionImageMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->pollCreationOptionImageMessage = $var;

        return $this;
    }

    



    public function getAssociatedChildMessage()
    {
        return $this->associatedChildMessage;
    }

    public function hasAssociatedChildMessage()
    {
        return isset($this->associatedChildMessage);
    }

    public function clearAssociatedChildMessage()
    {
        unset($this->associatedChildMessage);
    }

    




    public function setAssociatedChildMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->associatedChildMessage = $var;

        return $this;
    }

    



    public function getGroupStatusMentionMessage()
    {
        return $this->groupStatusMentionMessage;
    }

    public function hasGroupStatusMentionMessage()
    {
        return isset($this->groupStatusMentionMessage);
    }

    public function clearGroupStatusMentionMessage()
    {
        unset($this->groupStatusMentionMessage);
    }

    




    public function setGroupStatusMentionMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->groupStatusMentionMessage = $var;

        return $this;
    }

    



    public function getPollCreationMessageV4()
    {
        return $this->pollCreationMessageV4;
    }

    public function hasPollCreationMessageV4()
    {
        return isset($this->pollCreationMessageV4);
    }

    public function clearPollCreationMessageV4()
    {
        unset($this->pollCreationMessageV4);
    }

    




    public function setPollCreationMessageV4($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->pollCreationMessageV4 = $var;

        return $this;
    }

    



    public function getStatusAddYours()
    {
        return $this->statusAddYours;
    }

    public function hasStatusAddYours()
    {
        return isset($this->statusAddYours);
    }

    public function clearStatusAddYours()
    {
        unset($this->statusAddYours);
    }

    




    public function setStatusAddYours($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->statusAddYours = $var;

        return $this;
    }

    



    public function getGroupStatusMessage()
    {
        return $this->groupStatusMessage;
    }

    public function hasGroupStatusMessage()
    {
        return isset($this->groupStatusMessage);
    }

    public function clearGroupStatusMessage()
    {
        unset($this->groupStatusMessage);
    }

    




    public function setGroupStatusMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->groupStatusMessage = $var;

        return $this;
    }

    



    public function getRichResponseMessage()
    {
        return $this->richResponseMessage;
    }

    public function hasRichResponseMessage()
    {
        return isset($this->richResponseMessage);
    }

    public function clearRichResponseMessage()
    {
        unset($this->richResponseMessage);
    }

    




    public function setRichResponseMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\AIRichResponseMessage::class);
        $this->richResponseMessage = $var;

        return $this;
    }

    



    public function getStatusNotificationMessage()
    {
        return $this->statusNotificationMessage;
    }

    public function hasStatusNotificationMessage()
    {
        return isset($this->statusNotificationMessage);
    }

    public function clearStatusNotificationMessage()
    {
        unset($this->statusNotificationMessage);
    }

    




    public function setStatusNotificationMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\StatusNotificationMessage::class);
        $this->statusNotificationMessage = $var;

        return $this;
    }

    



    public function getLimitSharingMessage()
    {
        return $this->limitSharingMessage;
    }

    public function hasLimitSharingMessage()
    {
        return isset($this->limitSharingMessage);
    }

    public function clearLimitSharingMessage()
    {
        unset($this->limitSharingMessage);
    }

    




    public function setLimitSharingMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->limitSharingMessage = $var;

        return $this;
    }

    



    public function getBotTaskMessage()
    {
        return $this->botTaskMessage;
    }

    public function hasBotTaskMessage()
    {
        return isset($this->botTaskMessage);
    }

    public function clearBotTaskMessage()
    {
        unset($this->botTaskMessage);
    }

    




    public function setBotTaskMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->botTaskMessage = $var;

        return $this;
    }

    



    public function getQuestionMessage()
    {
        return $this->questionMessage;
    }

    public function hasQuestionMessage()
    {
        return isset($this->questionMessage);
    }

    public function clearQuestionMessage()
    {
        unset($this->questionMessage);
    }

    




    public function setQuestionMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->questionMessage = $var;

        return $this;
    }

    



    public function getMessageHistoryNotice()
    {
        return $this->messageHistoryNotice;
    }

    public function hasMessageHistoryNotice()
    {
        return isset($this->messageHistoryNotice);
    }

    public function clearMessageHistoryNotice()
    {
        unset($this->messageHistoryNotice);
    }

    




    public function setMessageHistoryNotice($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\MessageHistoryNotice::class);
        $this->messageHistoryNotice = $var;

        return $this;
    }

    



    public function getGroupStatusMessageV2()
    {
        return $this->groupStatusMessageV2;
    }

    public function hasGroupStatusMessageV2()
    {
        return isset($this->groupStatusMessageV2);
    }

    public function clearGroupStatusMessageV2()
    {
        unset($this->groupStatusMessageV2);
    }

    




    public function setGroupStatusMessageV2($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->groupStatusMessageV2 = $var;

        return $this;
    }

    



    public function getBotForwardedMessage()
    {
        return $this->botForwardedMessage;
    }

    public function hasBotForwardedMessage()
    {
        return isset($this->botForwardedMessage);
    }

    public function clearBotForwardedMessage()
    {
        unset($this->botForwardedMessage);
    }

    




    public function setBotForwardedMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->botForwardedMessage = $var;

        return $this;
    }

    



    public function getStatusQuestionAnswerMessage()
    {
        return $this->statusQuestionAnswerMessage;
    }

    public function hasStatusQuestionAnswerMessage()
    {
        return isset($this->statusQuestionAnswerMessage);
    }

    public function clearStatusQuestionAnswerMessage()
    {
        unset($this->statusQuestionAnswerMessage);
    }

    




    public function setStatusQuestionAnswerMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\StatusQuestionAnswerMessage::class);
        $this->statusQuestionAnswerMessage = $var;

        return $this;
    }

    



    public function getQuestionReplyMessage()
    {
        return $this->questionReplyMessage;
    }

    public function hasQuestionReplyMessage()
    {
        return isset($this->questionReplyMessage);
    }

    public function clearQuestionReplyMessage()
    {
        unset($this->questionReplyMessage);
    }

    




    public function setQuestionReplyMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\FutureProofMessage::class);
        $this->questionReplyMessage = $var;

        return $this;
    }

    



    public function getQuestionResponseMessage()
    {
        return $this->questionResponseMessage;
    }

    public function hasQuestionResponseMessage()
    {
        return isset($this->questionResponseMessage);
    }

    public function clearQuestionResponseMessage()
    {
        unset($this->questionResponseMessage);
    }

    




    public function setQuestionResponseMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\QuestionResponseMessage::class);
        $this->questionResponseMessage = $var;

        return $this;
    }

    



    public function getStatusQuotedMessage()
    {
        return $this->statusQuotedMessage;
    }

    public function hasStatusQuotedMessage()
    {
        return isset($this->statusQuotedMessage);
    }

    public function clearStatusQuotedMessage()
    {
        unset($this->statusQuotedMessage);
    }

    




    public function setStatusQuotedMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\StatusQuotedMessage::class);
        $this->statusQuotedMessage = $var;

        return $this;
    }

    



    public function getStatusStickerInteractionMessage()
    {
        return $this->statusStickerInteractionMessage;
    }

    public function hasStatusStickerInteractionMessage()
    {
        return isset($this->statusStickerInteractionMessage);
    }

    public function clearStatusStickerInteractionMessage()
    {
        unset($this->statusStickerInteractionMessage);
    }

    




    public function setStatusStickerInteractionMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\StatusStickerInteractionMessage::class);
        $this->statusStickerInteractionMessage = $var;

        return $this;
    }

    



    public function getPollCreationMessageV5()
    {
        return $this->pollCreationMessageV5;
    }

    public function hasPollCreationMessageV5()
    {
        return isset($this->pollCreationMessageV5);
    }

    public function clearPollCreationMessageV5()
    {
        unset($this->pollCreationMessageV5);
    }

    




    public function setPollCreationMessageV5($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PollCreationMessage::class);
        $this->pollCreationMessageV5 = $var;

        return $this;
    }

    



    public function getNewsletterFollowerInviteMessageV2()
    {
        return $this->newsletterFollowerInviteMessageV2;
    }

    public function hasNewsletterFollowerInviteMessageV2()
    {
        return isset($this->newsletterFollowerInviteMessageV2);
    }

    public function clearNewsletterFollowerInviteMessageV2()
    {
        unset($this->newsletterFollowerInviteMessageV2);
    }

    




    public function setNewsletterFollowerInviteMessageV2($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\NewsletterFollowerInviteMessage::class);
        $this->newsletterFollowerInviteMessageV2 = $var;

        return $this;
    }

    



    public function getPollResultSnapshotMessageV3()
    {
        return $this->pollResultSnapshotMessageV3;
    }

    public function hasPollResultSnapshotMessageV3()
    {
        return isset($this->pollResultSnapshotMessageV3);
    }

    public function clearPollResultSnapshotMessageV3()
    {
        unset($this->pollResultSnapshotMessageV3);
    }

    




    public function setPollResultSnapshotMessageV3($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message\PollResultSnapshotMessage::class);
        $this->pollResultSnapshotMessageV3 = $var;

        return $this;
    }

}

