// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: steammessages_friendmessages.steamclient.proto
// </auto-generated>

#region Designer generated code
#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
namespace SteamKit2.Internal
{

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_GetRecentMessages_Request : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid1
        {
            get => __pbn__steamid1.GetValueOrDefault();
            set => __pbn__steamid1 = value;
        }
        public bool ShouldSerializesteamid1() => __pbn__steamid1 != null;
        public void Resetsteamid1() => __pbn__steamid1 = null;
        private ulong? __pbn__steamid1;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid2
        {
            get => __pbn__steamid2.GetValueOrDefault();
            set => __pbn__steamid2 = value;
        }
        public bool ShouldSerializesteamid2() => __pbn__steamid2 != null;
        public void Resetsteamid2() => __pbn__steamid2 = null;
        private ulong? __pbn__steamid2;

        [global::ProtoBuf.ProtoMember(3)]
        public uint count
        {
            get => __pbn__count.GetValueOrDefault();
            set => __pbn__count = value;
        }
        public bool ShouldSerializecount() => __pbn__count != null;
        public void Resetcount() => __pbn__count = null;
        private uint? __pbn__count;

        [global::ProtoBuf.ProtoMember(4)]
        public bool most_recent_conversation
        {
            get => __pbn__most_recent_conversation.GetValueOrDefault();
            set => __pbn__most_recent_conversation = value;
        }
        public bool ShouldSerializemost_recent_conversation() => __pbn__most_recent_conversation != null;
        public void Resetmost_recent_conversation() => __pbn__most_recent_conversation = null;
        private bool? __pbn__most_recent_conversation;

        [global::ProtoBuf.ProtoMember(5, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint rtime32_start_time
        {
            get => __pbn__rtime32_start_time.GetValueOrDefault();
            set => __pbn__rtime32_start_time = value;
        }
        public bool ShouldSerializertime32_start_time() => __pbn__rtime32_start_time != null;
        public void Resetrtime32_start_time() => __pbn__rtime32_start_time = null;
        private uint? __pbn__rtime32_start_time;

        [global::ProtoBuf.ProtoMember(6)]
        public bool bbcode_format
        {
            get => __pbn__bbcode_format.GetValueOrDefault();
            set => __pbn__bbcode_format = value;
        }
        public bool ShouldSerializebbcode_format() => __pbn__bbcode_format != null;
        public void Resetbbcode_format() => __pbn__bbcode_format = null;
        private bool? __pbn__bbcode_format;

        [global::ProtoBuf.ProtoMember(7)]
        public uint start_ordinal
        {
            get => __pbn__start_ordinal.GetValueOrDefault();
            set => __pbn__start_ordinal = value;
        }
        public bool ShouldSerializestart_ordinal() => __pbn__start_ordinal != null;
        public void Resetstart_ordinal() => __pbn__start_ordinal = null;
        private uint? __pbn__start_ordinal;

        [global::ProtoBuf.ProtoMember(8)]
        public uint time_last
        {
            get => __pbn__time_last.GetValueOrDefault();
            set => __pbn__time_last = value;
        }
        public bool ShouldSerializetime_last() => __pbn__time_last != null;
        public void Resettime_last() => __pbn__time_last = null;
        private uint? __pbn__time_last;

        [global::ProtoBuf.ProtoMember(9)]
        public uint ordinal_last
        {
            get => __pbn__ordinal_last.GetValueOrDefault();
            set => __pbn__ordinal_last = value;
        }
        public bool ShouldSerializeordinal_last() => __pbn__ordinal_last != null;
        public void Resetordinal_last() => __pbn__ordinal_last = null;
        private uint? __pbn__ordinal_last;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_GetRecentMessages_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<FriendMessage> messages { get; } = new global::System.Collections.Generic.List<FriendMessage>();

        [global::ProtoBuf.ProtoMember(4)]
        public bool more_available
        {
            get => __pbn__more_available.GetValueOrDefault();
            set => __pbn__more_available = value;
        }
        public bool ShouldSerializemore_available() => __pbn__more_available != null;
        public void Resetmore_available() => __pbn__more_available = null;
        private bool? __pbn__more_available;

        [global::ProtoBuf.ProtoContract()]
        public partial class FriendMessage : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint accountid
            {
                get => __pbn__accountid.GetValueOrDefault();
                set => __pbn__accountid = value;
            }
            public bool ShouldSerializeaccountid() => __pbn__accountid != null;
            public void Resetaccountid() => __pbn__accountid = null;
            private uint? __pbn__accountid;

            [global::ProtoBuf.ProtoMember(2)]
            public uint timestamp
            {
                get => __pbn__timestamp.GetValueOrDefault();
                set => __pbn__timestamp = value;
            }
            public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
            public void Resettimestamp() => __pbn__timestamp = null;
            private uint? __pbn__timestamp;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string message
            {
                get => __pbn__message ?? "";
                set => __pbn__message = value;
            }
            public bool ShouldSerializemessage() => __pbn__message != null;
            public void Resetmessage() => __pbn__message = null;
            private string __pbn__message;

            [global::ProtoBuf.ProtoMember(4)]
            public uint ordinal
            {
                get => __pbn__ordinal.GetValueOrDefault();
                set => __pbn__ordinal = value;
            }
            public bool ShouldSerializeordinal() => __pbn__ordinal != null;
            public void Resetordinal() => __pbn__ordinal = null;
            private uint? __pbn__ordinal;

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<MessageReaction> reactions { get; } = new global::System.Collections.Generic.List<MessageReaction>();

            [global::ProtoBuf.ProtoContract()]
            public partial class MessageReaction : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1)]
                [global::System.ComponentModel.DefaultValue(EMessageReactionType.k_EMessageReactionType_Invalid)]
                public EMessageReactionType reaction_type
                {
                    get => __pbn__reaction_type ?? EMessageReactionType.k_EMessageReactionType_Invalid;
                    set => __pbn__reaction_type = value;
                }
                public bool ShouldSerializereaction_type() => __pbn__reaction_type != null;
                public void Resetreaction_type() => __pbn__reaction_type = null;
                private EMessageReactionType? __pbn__reaction_type;

                [global::ProtoBuf.ProtoMember(2)]
                [global::System.ComponentModel.DefaultValue("")]
                public string reaction
                {
                    get => __pbn__reaction ?? "";
                    set => __pbn__reaction = value;
                }
                public bool ShouldSerializereaction() => __pbn__reaction != null;
                public void Resetreaction() => __pbn__reaction = null;
                private string __pbn__reaction;

                [global::ProtoBuf.ProtoMember(3)]
                public global::System.Collections.Generic.List<uint> reactors { get; } = new global::System.Collections.Generic.List<uint>();

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendsMessages_GetActiveMessageSessions_Request : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint lastmessage_since
        {
            get => __pbn__lastmessage_since.GetValueOrDefault();
            set => __pbn__lastmessage_since = value;
        }
        public bool ShouldSerializelastmessage_since() => __pbn__lastmessage_since != null;
        public void Resetlastmessage_since() => __pbn__lastmessage_since = null;
        private uint? __pbn__lastmessage_since;

        [global::ProtoBuf.ProtoMember(2)]
        public bool only_sessions_with_messages
        {
            get => __pbn__only_sessions_with_messages.GetValueOrDefault();
            set => __pbn__only_sessions_with_messages = value;
        }
        public bool ShouldSerializeonly_sessions_with_messages() => __pbn__only_sessions_with_messages != null;
        public void Resetonly_sessions_with_messages() => __pbn__only_sessions_with_messages = null;
        private bool? __pbn__only_sessions_with_messages;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendsMessages_GetActiveMessageSessions_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<FriendMessageSession> message_sessions { get; } = new global::System.Collections.Generic.List<FriendMessageSession>();

        [global::ProtoBuf.ProtoMember(2)]
        public uint timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private uint? __pbn__timestamp;

        [global::ProtoBuf.ProtoContract()]
        public partial class FriendMessageSession : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint accountid_friend
            {
                get => __pbn__accountid_friend.GetValueOrDefault();
                set => __pbn__accountid_friend = value;
            }
            public bool ShouldSerializeaccountid_friend() => __pbn__accountid_friend != null;
            public void Resetaccountid_friend() => __pbn__accountid_friend = null;
            private uint? __pbn__accountid_friend;

            [global::ProtoBuf.ProtoMember(2)]
            public uint last_message
            {
                get => __pbn__last_message.GetValueOrDefault();
                set => __pbn__last_message = value;
            }
            public bool ShouldSerializelast_message() => __pbn__last_message != null;
            public void Resetlast_message() => __pbn__last_message = null;
            private uint? __pbn__last_message;

            [global::ProtoBuf.ProtoMember(3)]
            public uint last_view
            {
                get => __pbn__last_view.GetValueOrDefault();
                set => __pbn__last_view = value;
            }
            public bool ShouldSerializelast_view() => __pbn__last_view != null;
            public void Resetlast_view() => __pbn__last_view = null;
            private uint? __pbn__last_view;

            [global::ProtoBuf.ProtoMember(4)]
            public uint unread_message_count
            {
                get => __pbn__unread_message_count.GetValueOrDefault();
                set => __pbn__unread_message_count = value;
            }
            public bool ShouldSerializeunread_message_count() => __pbn__unread_message_count != null;
            public void Resetunread_message_count() => __pbn__unread_message_count = null;
            private uint? __pbn__unread_message_count;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_SendMessage_Request : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid
        {
            get => __pbn__steamid.GetValueOrDefault();
            set => __pbn__steamid = value;
        }
        public bool ShouldSerializesteamid() => __pbn__steamid != null;
        public void Resetsteamid() => __pbn__steamid = null;
        private ulong? __pbn__steamid;

        [global::ProtoBuf.ProtoMember(2)]
        public int chat_entry_type
        {
            get => __pbn__chat_entry_type.GetValueOrDefault();
            set => __pbn__chat_entry_type = value;
        }
        public bool ShouldSerializechat_entry_type() => __pbn__chat_entry_type != null;
        public void Resetchat_entry_type() => __pbn__chat_entry_type = null;
        private int? __pbn__chat_entry_type;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string message
        {
            get => __pbn__message ?? "";
            set => __pbn__message = value;
        }
        public bool ShouldSerializemessage() => __pbn__message != null;
        public void Resetmessage() => __pbn__message = null;
        private string __pbn__message;

        [global::ProtoBuf.ProtoMember(4)]
        public bool contains_bbcode
        {
            get => __pbn__contains_bbcode.GetValueOrDefault();
            set => __pbn__contains_bbcode = value;
        }
        public bool ShouldSerializecontains_bbcode() => __pbn__contains_bbcode != null;
        public void Resetcontains_bbcode() => __pbn__contains_bbcode = null;
        private bool? __pbn__contains_bbcode;

        [global::ProtoBuf.ProtoMember(5)]
        public bool echo_to_sender
        {
            get => __pbn__echo_to_sender.GetValueOrDefault();
            set => __pbn__echo_to_sender = value;
        }
        public bool ShouldSerializeecho_to_sender() => __pbn__echo_to_sender != null;
        public void Resetecho_to_sender() => __pbn__echo_to_sender = null;
        private bool? __pbn__echo_to_sender;

        [global::ProtoBuf.ProtoMember(6)]
        public bool low_priority
        {
            get => __pbn__low_priority.GetValueOrDefault();
            set => __pbn__low_priority = value;
        }
        public bool ShouldSerializelow_priority() => __pbn__low_priority != null;
        public void Resetlow_priority() => __pbn__low_priority = null;
        private bool? __pbn__low_priority;

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue("")]
        public string client_message_id
        {
            get => __pbn__client_message_id ?? "";
            set => __pbn__client_message_id = value;
        }
        public bool ShouldSerializeclient_message_id() => __pbn__client_message_id != null;
        public void Resetclient_message_id() => __pbn__client_message_id = null;
        private string __pbn__client_message_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_SendMessage_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue("")]
        public string modified_message
        {
            get => __pbn__modified_message ?? "";
            set => __pbn__modified_message = value;
        }
        public bool ShouldSerializemodified_message() => __pbn__modified_message != null;
        public void Resetmodified_message() => __pbn__modified_message = null;
        private string __pbn__modified_message;

        [global::ProtoBuf.ProtoMember(2)]
        public uint server_timestamp
        {
            get => __pbn__server_timestamp.GetValueOrDefault();
            set => __pbn__server_timestamp = value;
        }
        public bool ShouldSerializeserver_timestamp() => __pbn__server_timestamp != null;
        public void Resetserver_timestamp() => __pbn__server_timestamp = null;
        private uint? __pbn__server_timestamp;

        [global::ProtoBuf.ProtoMember(3)]
        public uint ordinal
        {
            get => __pbn__ordinal.GetValueOrDefault();
            set => __pbn__ordinal = value;
        }
        public bool ShouldSerializeordinal() => __pbn__ordinal != null;
        public void Resetordinal() => __pbn__ordinal = null;
        private uint? __pbn__ordinal;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue("")]
        public string message_without_bb_code
        {
            get => __pbn__message_without_bb_code ?? "";
            set => __pbn__message_without_bb_code = value;
        }
        public bool ShouldSerializemessage_without_bb_code() => __pbn__message_without_bb_code != null;
        public void Resetmessage_without_bb_code() => __pbn__message_without_bb_code = null;
        private string __pbn__message_without_bb_code;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_AckMessage_Notification : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid_partner
        {
            get => __pbn__steamid_partner.GetValueOrDefault();
            set => __pbn__steamid_partner = value;
        }
        public bool ShouldSerializesteamid_partner() => __pbn__steamid_partner != null;
        public void Resetsteamid_partner() => __pbn__steamid_partner = null;
        private ulong? __pbn__steamid_partner;

        [global::ProtoBuf.ProtoMember(2)]
        public uint timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private uint? __pbn__timestamp;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_IsInFriendsUIBeta_Request : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid
        {
            get => __pbn__steamid.GetValueOrDefault();
            set => __pbn__steamid = value;
        }
        public bool ShouldSerializesteamid() => __pbn__steamid != null;
        public void Resetsteamid() => __pbn__steamid = null;
        private ulong? __pbn__steamid;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_IsInFriendsUIBeta_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool online_in_friendsui
        {
            get => __pbn__online_in_friendsui.GetValueOrDefault();
            set => __pbn__online_in_friendsui = value;
        }
        public bool ShouldSerializeonline_in_friendsui() => __pbn__online_in_friendsui != null;
        public void Resetonline_in_friendsui() => __pbn__online_in_friendsui = null;
        private bool? __pbn__online_in_friendsui;

        [global::ProtoBuf.ProtoMember(2)]
        public bool has_used_friendsui
        {
            get => __pbn__has_used_friendsui.GetValueOrDefault();
            set => __pbn__has_used_friendsui = value;
        }
        public bool ShouldSerializehas_used_friendsui() => __pbn__has_used_friendsui != null;
        public void Resethas_used_friendsui() => __pbn__has_used_friendsui = null;
        private bool? __pbn__has_used_friendsui;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_UpdateMessageReaction_Request : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid
        {
            get => __pbn__steamid.GetValueOrDefault();
            set => __pbn__steamid = value;
        }
        public bool ShouldSerializesteamid() => __pbn__steamid != null;
        public void Resetsteamid() => __pbn__steamid = null;
        private ulong? __pbn__steamid;

        [global::ProtoBuf.ProtoMember(2)]
        public uint server_timestamp
        {
            get => __pbn__server_timestamp.GetValueOrDefault();
            set => __pbn__server_timestamp = value;
        }
        public bool ShouldSerializeserver_timestamp() => __pbn__server_timestamp != null;
        public void Resetserver_timestamp() => __pbn__server_timestamp = null;
        private uint? __pbn__server_timestamp;

        [global::ProtoBuf.ProtoMember(3)]
        public uint ordinal
        {
            get => __pbn__ordinal.GetValueOrDefault();
            set => __pbn__ordinal = value;
        }
        public bool ShouldSerializeordinal() => __pbn__ordinal != null;
        public void Resetordinal() => __pbn__ordinal = null;
        private uint? __pbn__ordinal;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(EMessageReactionType.k_EMessageReactionType_Invalid)]
        public EMessageReactionType reaction_type
        {
            get => __pbn__reaction_type ?? EMessageReactionType.k_EMessageReactionType_Invalid;
            set => __pbn__reaction_type = value;
        }
        public bool ShouldSerializereaction_type() => __pbn__reaction_type != null;
        public void Resetreaction_type() => __pbn__reaction_type = null;
        private EMessageReactionType? __pbn__reaction_type;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue("")]
        public string reaction
        {
            get => __pbn__reaction ?? "";
            set => __pbn__reaction = value;
        }
        public bool ShouldSerializereaction() => __pbn__reaction != null;
        public void Resetreaction() => __pbn__reaction = null;
        private string __pbn__reaction;

        [global::ProtoBuf.ProtoMember(6)]
        public bool is_add
        {
            get => __pbn__is_add.GetValueOrDefault();
            set => __pbn__is_add = value;
        }
        public bool ShouldSerializeis_add() => __pbn__is_add != null;
        public void Resetis_add() => __pbn__is_add = null;
        private bool? __pbn__is_add;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_UpdateMessageReaction_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> reactors { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_IncomingMessage_Notification : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid_friend
        {
            get => __pbn__steamid_friend.GetValueOrDefault();
            set => __pbn__steamid_friend = value;
        }
        public bool ShouldSerializesteamid_friend() => __pbn__steamid_friend != null;
        public void Resetsteamid_friend() => __pbn__steamid_friend = null;
        private ulong? __pbn__steamid_friend;

        [global::ProtoBuf.ProtoMember(2)]
        public int chat_entry_type
        {
            get => __pbn__chat_entry_type.GetValueOrDefault();
            set => __pbn__chat_entry_type = value;
        }
        public bool ShouldSerializechat_entry_type() => __pbn__chat_entry_type != null;
        public void Resetchat_entry_type() => __pbn__chat_entry_type = null;
        private int? __pbn__chat_entry_type;

        [global::ProtoBuf.ProtoMember(3)]
        public bool from_limited_account
        {
            get => __pbn__from_limited_account.GetValueOrDefault();
            set => __pbn__from_limited_account = value;
        }
        public bool ShouldSerializefrom_limited_account() => __pbn__from_limited_account != null;
        public void Resetfrom_limited_account() => __pbn__from_limited_account = null;
        private bool? __pbn__from_limited_account;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue("")]
        public string message
        {
            get => __pbn__message ?? "";
            set => __pbn__message = value;
        }
        public bool ShouldSerializemessage() => __pbn__message != null;
        public void Resetmessage() => __pbn__message = null;
        private string __pbn__message;

        [global::ProtoBuf.ProtoMember(5, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint rtime32_server_timestamp
        {
            get => __pbn__rtime32_server_timestamp.GetValueOrDefault();
            set => __pbn__rtime32_server_timestamp = value;
        }
        public bool ShouldSerializertime32_server_timestamp() => __pbn__rtime32_server_timestamp != null;
        public void Resetrtime32_server_timestamp() => __pbn__rtime32_server_timestamp = null;
        private uint? __pbn__rtime32_server_timestamp;

        [global::ProtoBuf.ProtoMember(6)]
        public uint ordinal
        {
            get => __pbn__ordinal.GetValueOrDefault();
            set => __pbn__ordinal = value;
        }
        public bool ShouldSerializeordinal() => __pbn__ordinal != null;
        public void Resetordinal() => __pbn__ordinal = null;
        private uint? __pbn__ordinal;

        [global::ProtoBuf.ProtoMember(7)]
        public bool local_echo
        {
            get => __pbn__local_echo.GetValueOrDefault();
            set => __pbn__local_echo = value;
        }
        public bool ShouldSerializelocal_echo() => __pbn__local_echo != null;
        public void Resetlocal_echo() => __pbn__local_echo = null;
        private bool? __pbn__local_echo;

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue("")]
        public string message_no_bbcode
        {
            get => __pbn__message_no_bbcode ?? "";
            set => __pbn__message_no_bbcode = value;
        }
        public bool ShouldSerializemessage_no_bbcode() => __pbn__message_no_bbcode != null;
        public void Resetmessage_no_bbcode() => __pbn__message_no_bbcode = null;
        private string __pbn__message_no_bbcode;

        [global::ProtoBuf.ProtoMember(9)]
        public bool low_priority
        {
            get => __pbn__low_priority.GetValueOrDefault();
            set => __pbn__low_priority = value;
        }
        public bool ShouldSerializelow_priority() => __pbn__low_priority != null;
        public void Resetlow_priority() => __pbn__low_priority = null;
        private bool? __pbn__low_priority;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CFriendMessages_MessageReaction_Notification : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steamid_friend
        {
            get => __pbn__steamid_friend.GetValueOrDefault();
            set => __pbn__steamid_friend = value;
        }
        public bool ShouldSerializesteamid_friend() => __pbn__steamid_friend != null;
        public void Resetsteamid_friend() => __pbn__steamid_friend = null;
        private ulong? __pbn__steamid_friend;

        [global::ProtoBuf.ProtoMember(2)]
        public uint server_timestamp
        {
            get => __pbn__server_timestamp.GetValueOrDefault();
            set => __pbn__server_timestamp = value;
        }
        public bool ShouldSerializeserver_timestamp() => __pbn__server_timestamp != null;
        public void Resetserver_timestamp() => __pbn__server_timestamp = null;
        private uint? __pbn__server_timestamp;

        [global::ProtoBuf.ProtoMember(3)]
        public uint ordinal
        {
            get => __pbn__ordinal.GetValueOrDefault();
            set => __pbn__ordinal = value;
        }
        public bool ShouldSerializeordinal() => __pbn__ordinal != null;
        public void Resetordinal() => __pbn__ordinal = null;
        private uint? __pbn__ordinal;

        [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong reactor
        {
            get => __pbn__reactor.GetValueOrDefault();
            set => __pbn__reactor = value;
        }
        public bool ShouldSerializereactor() => __pbn__reactor != null;
        public void Resetreactor() => __pbn__reactor = null;
        private ulong? __pbn__reactor;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(EMessageReactionType.k_EMessageReactionType_Invalid)]
        public EMessageReactionType reaction_type
        {
            get => __pbn__reaction_type ?? EMessageReactionType.k_EMessageReactionType_Invalid;
            set => __pbn__reaction_type = value;
        }
        public bool ShouldSerializereaction_type() => __pbn__reaction_type != null;
        public void Resetreaction_type() => __pbn__reaction_type = null;
        private EMessageReactionType? __pbn__reaction_type;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue("")]
        public string reaction
        {
            get => __pbn__reaction ?? "";
            set => __pbn__reaction = value;
        }
        public bool ShouldSerializereaction() => __pbn__reaction != null;
        public void Resetreaction() => __pbn__reaction = null;
        private string __pbn__reaction;

        [global::ProtoBuf.ProtoMember(7)]
        public bool is_add
        {
            get => __pbn__is_add.GetValueOrDefault();
            set => __pbn__is_add = value;
        }
        public bool ShouldSerializeis_add() => __pbn__is_add != null;
        public void Resetis_add() => __pbn__is_add = null;
        private bool? __pbn__is_add;

    }

    [global::ProtoBuf.ProtoContract()]
    public enum EMessageReactionType
    {
        k_EMessageReactionType_Invalid = 0,
        k_EMessageReactionType_Emoticon = 1,
        k_EMessageReactionType_Sticker = 2,
    }

    public class FriendMessages : SteamUnifiedMessages.UnifiedService
    {
        public override string ServiceName { get; } = "FriendMessages";

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CFriendMessages_GetRecentMessages_Response>> GetRecentMessages( CFriendMessages_GetRecentMessages_Request request )
        {
            return UnifiedMessages.SendMessage<CFriendMessages_GetRecentMessages_Request, CFriendMessages_GetRecentMessages_Response>( "FriendMessages.GetRecentMessages#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CFriendsMessages_GetActiveMessageSessions_Response>> GetActiveMessageSessions( CFriendsMessages_GetActiveMessageSessions_Request request )
        {
            return UnifiedMessages.SendMessage<CFriendsMessages_GetActiveMessageSessions_Request, CFriendsMessages_GetActiveMessageSessions_Response>( "FriendMessages.GetActiveMessageSessions#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CFriendMessages_SendMessage_Response>> SendMessage( CFriendMessages_SendMessage_Request request )
        {
            return UnifiedMessages.SendMessage<CFriendMessages_SendMessage_Request, CFriendMessages_SendMessage_Response>( "FriendMessages.SendMessage#1", request );
        }

        public void AckMessage(CFriendMessages_AckMessage_Notification request )
        {
            UnifiedMessages.SendNotification<CFriendMessages_AckMessage_Notification>( "FriendMessages.AckMessage#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CFriendMessages_IsInFriendsUIBeta_Response>> IsInFriendsUIBeta( CFriendMessages_IsInFriendsUIBeta_Request request )
        {
            return UnifiedMessages.SendMessage<CFriendMessages_IsInFriendsUIBeta_Request, CFriendMessages_IsInFriendsUIBeta_Response>( "FriendMessages.IsInFriendsUIBeta#1", request );
        }

        public AsyncJob<SteamUnifiedMessages.ServiceMethodResponse<CFriendMessages_UpdateMessageReaction_Response>> UpdateMessageReaction( CFriendMessages_UpdateMessageReaction_Request request )
        {
            return UnifiedMessages.SendMessage<CFriendMessages_UpdateMessageReaction_Request, CFriendMessages_UpdateMessageReaction_Response>( "FriendMessages.UpdateMessageReaction#1", request );
        }

        public override void HandleResponseMsg( string methodName, PacketClientMsgProtobuf packetMsg )
        {
            switch ( methodName )
            {
                case "GetRecentMessages":
                    PostResponseMsg<CFriendMessages_GetRecentMessages_Response>( packetMsg );
                    break;
                case "GetActiveMessageSessions":
                    PostResponseMsg<CFriendsMessages_GetActiveMessageSessions_Response>( packetMsg );
                    break;
                case "SendMessage":
                    PostResponseMsg<CFriendMessages_SendMessage_Response>( packetMsg );
                    break;
                case "IsInFriendsUIBeta":
                    PostResponseMsg<CFriendMessages_IsInFriendsUIBeta_Response>( packetMsg );
                    break;
                case "UpdateMessageReaction":
                    PostResponseMsg<CFriendMessages_UpdateMessageReaction_Response>( packetMsg );
                    break;
            }
        }

        public override void HandleNotificationMsg( string methodName, PacketClientMsgProtobuf packetMsg )
        {
            switch ( methodName )
            {
                case "AckMessage":
                    PostNotificationMsg<CFriendMessages_AckMessage_Notification>( packetMsg );
                    break;
            }
        }
    }

    public class FriendMessagesClient : SteamUnifiedMessages.UnifiedService
    {
        public override string ServiceName { get; } = "FriendMessagesClient";

        public void IncomingMessage(CFriendMessages_IncomingMessage_Notification request )
        {
            UnifiedMessages.SendNotification<CFriendMessages_IncomingMessage_Notification>( "FriendMessagesClient.IncomingMessage#1", request );
        }

        public void NotifyAckMessageEcho(CFriendMessages_AckMessage_Notification request )
        {
            UnifiedMessages.SendNotification<CFriendMessages_AckMessage_Notification>( "FriendMessagesClient.NotifyAckMessageEcho#1", request );
        }

        public void MessageReaction(CFriendMessages_MessageReaction_Notification request )
        {
            UnifiedMessages.SendNotification<CFriendMessages_MessageReaction_Notification>( "FriendMessagesClient.MessageReaction#1", request );
        }

        public override void HandleResponseMsg( string methodName, PacketClientMsgProtobuf packetMsg )
        {
        }

        public override void HandleNotificationMsg( string methodName, PacketClientMsgProtobuf packetMsg )
        {
            switch ( methodName )
            {
                case "IncomingMessage":
                    PostNotificationMsg<CFriendMessages_IncomingMessage_Notification>( packetMsg );
                    break;
                case "NotifyAckMessageEcho":
                    PostNotificationMsg<CFriendMessages_AckMessage_Notification>( packetMsg );
                    break;
                case "MessageReaction":
                    PostNotificationMsg<CFriendMessages_MessageReaction_Notification>( packetMsg );
                    break;
            }
        }
    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
