// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: contenthubs.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 CStorePageFilter : 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 SalePageFilter sale_filter { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public ContentHubFilter content_hub_filter { get; set; }

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

        [global::ProtoBuf.ProtoContract()]
        public partial class SalePageFilter : 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 sale_tagid
            {
                get => __pbn__sale_tagid.GetValueOrDefault();
                set => __pbn__sale_tagid = value;
            }
            public bool ShouldSerializesale_tagid() => __pbn__sale_tagid != null;
            public void Resetsale_tagid() => __pbn__sale_tagid = null;
            private uint? __pbn__sale_tagid;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class ContentHubFilter : 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 hub_type
            {
                get => __pbn__hub_type ?? "";
                set => __pbn__hub_type = value;
            }
            public bool ShouldSerializehub_type() => __pbn__hub_type != null;
            public void Resethub_type() => __pbn__hub_type = null;
            private string __pbn__hub_type;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string hub_category
            {
                get => __pbn__hub_category ?? "";
                set => __pbn__hub_category = value;
            }
            public bool ShouldSerializehub_category() => __pbn__hub_category != null;
            public void Resethub_category() => __pbn__hub_category = null;
            private string __pbn__hub_category;

            [global::ProtoBuf.ProtoMember(3)]
            public uint hub_tagid
            {
                get => __pbn__hub_tagid.GetValueOrDefault();
                set => __pbn__hub_tagid = value;
            }
            public bool ShouldSerializehub_tagid() => __pbn__hub_tagid != null;
            public void Resethub_tagid() => __pbn__hub_tagid = null;
            private uint? __pbn__hub_tagid;

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue(EContentHubDiscountFilterType.k_EContentHubDiscountFilterType_None)]
            public EContentHubDiscountFilterType discount_filter
            {
                get => __pbn__discount_filter ?? EContentHubDiscountFilterType.k_EContentHubDiscountFilterType_None;
                set => __pbn__discount_filter = value;
            }
            public bool ShouldSerializediscount_filter() => __pbn__discount_filter != null;
            public void Resetdiscount_filter() => __pbn__discount_filter = null;
            private EContentHubDiscountFilterType? __pbn__discount_filter;

            [global::ProtoBuf.ProtoMember(5)]
            public OptInInfo optin { get; set; }

            [global::ProtoBuf.ProtoContract()]
            public partial class OptInInfo : 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 name
                {
                    get => __pbn__name ?? "";
                    set => __pbn__name = value;
                }
                public bool ShouldSerializename() => __pbn__name != null;
                public void Resetname() => __pbn__name = null;
                private string __pbn__name;

                [global::ProtoBuf.ProtoMember(2)]
                public uint optin_tagid
                {
                    get => __pbn__optin_tagid.GetValueOrDefault();
                    set => __pbn__optin_tagid = value;
                }
                public bool ShouldSerializeoptin_tagid() => __pbn__optin_tagid != null;
                public void Resetoptin_tagid() => __pbn__optin_tagid = null;
                private uint? __pbn__optin_tagid;

                [global::ProtoBuf.ProtoMember(3)]
                public uint prune_tagid
                {
                    get => __pbn__prune_tagid.GetValueOrDefault();
                    set => __pbn__prune_tagid = value;
                }
                public bool ShouldSerializeprune_tagid() => __pbn__prune_tagid != null;
                public void Resetprune_tagid() => __pbn__prune_tagid = null;
                private uint? __pbn__prune_tagid;

                [global::ProtoBuf.ProtoMember(4)]
                public bool optin_only
                {
                    get => __pbn__optin_only.GetValueOrDefault();
                    set => __pbn__optin_only = value;
                }
                public bool ShouldSerializeoptin_only() => __pbn__optin_only != null;
                public void Resetoptin_only() => __pbn__optin_only = null;
                private bool? __pbn__optin_only;

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class StoreFilter : 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 filter_json
            {
                get => __pbn__filter_json ?? "";
                set => __pbn__filter_json = value;
            }
            public bool ShouldSerializefilter_json() => __pbn__filter_json != null;
            public void Resetfilter_json() => __pbn__filter_json = null;
            private string __pbn__filter_json;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue("")]
            public string cache_key
            {
                get => __pbn__cache_key ?? "";
                set => __pbn__cache_key = value;
            }
            public bool ShouldSerializecache_key() => __pbn__cache_key != null;
            public void Resetcache_key() => __pbn__cache_key = null;
            private string __pbn__cache_key;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public enum EContentHubDiscountFilterType
    {
        k_EContentHubDiscountFilterType_None = 0,
        k_EContentHubDiscountFilterType_DiscountsOnly = 1,
        k_EContentHubDiscountFilterType_PrioritizeDiscounts = 2,
    }

}

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