// <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_econ.steamclient.proto
// </auto-generated>

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

    [global::ProtoBuf.ProtoContract()]
    public partial class CEcon_GetTradeOfferAccessToken_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 bool generate_new_token
        {
            get => __pbn__generate_new_token.GetValueOrDefault();
            set => __pbn__generate_new_token = value;
        }
        public bool ShouldSerializegenerate_new_token() => __pbn__generate_new_token != null;
        public void Resetgenerate_new_token() => __pbn__generate_new_token = null;
        private bool? __pbn__generate_new_token;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CEcon_GetTradeOfferAccessToken_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 trade_offer_access_token
        {
            get => __pbn__trade_offer_access_token ?? "";
            set => __pbn__trade_offer_access_token = value;
        }
        public bool ShouldSerializetrade_offer_access_token() => __pbn__trade_offer_access_token != null;
        public void Resettrade_offer_access_token() => __pbn__trade_offer_access_token = null;
        private string __pbn__trade_offer_access_token;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CEcon_ClientGetItemShopOverlayAuthURL_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)]
        [global::System.ComponentModel.DefaultValue("")]
        public string return_url
        {
            get => __pbn__return_url ?? "";
            set => __pbn__return_url = value;
        }
        public bool ShouldSerializereturn_url() => __pbn__return_url != null;
        public void Resetreturn_url() => __pbn__return_url = null;
        private string __pbn__return_url;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CEcon_ClientGetItemShopOverlayAuthURL_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 url
        {
            get => __pbn__url ?? "";
            set => __pbn__url = value;
        }
        public bool ShouldSerializeurl() => __pbn__url != null;
        public void Reseturl() => __pbn__url = null;
        private string __pbn__url;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CEcon_GetAssetClassInfo_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)]
        [global::System.ComponentModel.DefaultValue("")]
        public string language
        {
            get => __pbn__language ?? "";
            set => __pbn__language = value;
        }
        public bool ShouldSerializelanguage() => __pbn__language != null;
        public void Resetlanguage() => __pbn__language = null;
        private string __pbn__language;

        [global::ProtoBuf.ProtoMember(2)]
        public uint appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

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

        [global::ProtoBuf.ProtoContract()]
        public partial class Class : 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 ulong classid
            {
                get => __pbn__classid.GetValueOrDefault();
                set => __pbn__classid = value;
            }
            public bool ShouldSerializeclassid() => __pbn__classid != null;
            public void Resetclassid() => __pbn__classid = null;
            private ulong? __pbn__classid;

            [global::ProtoBuf.ProtoMember(2)]
            public ulong instanceid
            {
                get => __pbn__instanceid.GetValueOrDefault();
                set => __pbn__instanceid = value;
            }
            public bool ShouldSerializeinstanceid() => __pbn__instanceid != null;
            public void Resetinstanceid() => __pbn__instanceid = null;
            private ulong? __pbn__instanceid;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CEconItem_DescriptionLine : 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 type
        {
            get => __pbn__type ?? "";
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private string __pbn__type;

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

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string color
        {
            get => __pbn__color ?? "";
            set => __pbn__color = value;
        }
        public bool ShouldSerializecolor() => __pbn__color != null;
        public void Resetcolor() => __pbn__color = null;
        private string __pbn__color;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue("")]
        public string label
        {
            get => __pbn__label ?? "";
            set => __pbn__label = value;
        }
        public bool ShouldSerializelabel() => __pbn__label != null;
        public void Resetlabel() => __pbn__label = null;
        private string __pbn__label;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CEconItem_Action : 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 link
        {
            get => __pbn__link ?? "";
            set => __pbn__link = value;
        }
        public bool ShouldSerializelink() => __pbn__link != null;
        public void Resetlink() => __pbn__link = null;
        private string __pbn__link;

        [global::ProtoBuf.ProtoMember(2)]
        [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.ProtoContract()]
    public partial class CEconItem_Description : 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 int appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private int? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong classid
        {
            get => __pbn__classid.GetValueOrDefault();
            set => __pbn__classid = value;
        }
        public bool ShouldSerializeclassid() => __pbn__classid != null;
        public void Resetclassid() => __pbn__classid = null;
        private ulong? __pbn__classid;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong instanceid
        {
            get => __pbn__instanceid.GetValueOrDefault();
            set => __pbn__instanceid = value;
        }
        public bool ShouldSerializeinstanceid() => __pbn__instanceid != null;
        public void Resetinstanceid() => __pbn__instanceid = null;
        private ulong? __pbn__instanceid;

        [global::ProtoBuf.ProtoMember(4)]
        public bool currency
        {
            get => __pbn__currency.GetValueOrDefault();
            set => __pbn__currency = value;
        }
        public bool ShouldSerializecurrency() => __pbn__currency != null;
        public void Resetcurrency() => __pbn__currency = null;
        private bool? __pbn__currency;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue("")]
        public string background_color
        {
            get => __pbn__background_color ?? "";
            set => __pbn__background_color = value;
        }
        public bool ShouldSerializebackground_color() => __pbn__background_color != null;
        public void Resetbackground_color() => __pbn__background_color = null;
        private string __pbn__background_color;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue("")]
        public string icon_url
        {
            get => __pbn__icon_url ?? "";
            set => __pbn__icon_url = value;
        }
        public bool ShouldSerializeicon_url() => __pbn__icon_url != null;
        public void Reseticon_url() => __pbn__icon_url = null;
        private string __pbn__icon_url;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue("")]
        public string icon_url_large
        {
            get => __pbn__icon_url_large ?? "";
            set => __pbn__icon_url_large = value;
        }
        public bool ShouldSerializeicon_url_large() => __pbn__icon_url_large != null;
        public void Reseticon_url_large() => __pbn__icon_url_large = null;
        private string __pbn__icon_url_large;

        [global::ProtoBuf.ProtoMember(8)]
        public global::System.Collections.Generic.List<CEconItem_DescriptionLine> descriptions { get; } = new global::System.Collections.Generic.List<CEconItem_DescriptionLine>();

        [global::ProtoBuf.ProtoMember(9)]
        public bool tradable
        {
            get => __pbn__tradable.GetValueOrDefault();
            set => __pbn__tradable = value;
        }
        public bool ShouldSerializetradable() => __pbn__tradable != null;
        public void Resettradable() => __pbn__tradable = null;
        private bool? __pbn__tradable;

        [global::ProtoBuf.ProtoMember(10)]
        public global::System.Collections.Generic.List<CEconItem_Action> actions { get; } = new global::System.Collections.Generic.List<CEconItem_Action>();

        [global::ProtoBuf.ProtoMember(11)]
        public global::System.Collections.Generic.List<CEconItem_DescriptionLine> owner_descriptions { get; } = new global::System.Collections.Generic.List<CEconItem_DescriptionLine>();

        [global::ProtoBuf.ProtoMember(12)]
        public global::System.Collections.Generic.List<CEconItem_Action> owner_actions { get; } = new global::System.Collections.Generic.List<CEconItem_Action>();

        [global::ProtoBuf.ProtoMember(13)]
        public global::System.Collections.Generic.List<string> fraudwarnings { get; } = new global::System.Collections.Generic.List<string>();

        [global::ProtoBuf.ProtoMember(14)]
        [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(15)]
        [global::System.ComponentModel.DefaultValue("")]
        public string name_color
        {
            get => __pbn__name_color ?? "";
            set => __pbn__name_color = value;
        }
        public bool ShouldSerializename_color() => __pbn__name_color != null;
        public void Resetname_color() => __pbn__name_color = null;
        private string __pbn__name_color;

        [global::ProtoBuf.ProtoMember(16)]
        [global::System.ComponentModel.DefaultValue("")]
        public string type
        {
            get => __pbn__type ?? "";
            set => __pbn__type = value;
        }
        public bool ShouldSerializetype() => __pbn__type != null;
        public void Resettype() => __pbn__type = null;
        private string __pbn__type;

        [global::ProtoBuf.ProtoMember(17)]
        [global::System.ComponentModel.DefaultValue("")]
        public string market_name
        {
            get => __pbn__market_name ?? "";
            set => __pbn__market_name = value;
        }
        public bool ShouldSerializemarket_name() => __pbn__market_name != null;
        public void Resetmarket_name() => __pbn__market_name = null;
        private string __pbn__market_name;

        [global::ProtoBuf.ProtoMember(18)]
        [global::System.ComponentModel.DefaultValue("")]
        public string market_hash_name
        {
            get => __pbn__market_hash_name ?? "";
            set => __pbn__market_hash_name = value;
        }
        public bool ShouldSerializemarket_hash_name() => __pbn__market_hash_name != null;
        public void Resetmarket_hash_name() => __pbn__market_hash_name = null;
        private string __pbn__market_hash_name;

        [global::ProtoBuf.ProtoMember(19)]
        [global::System.ComponentModel.DefaultValue("")]
        public string market_fee
        {
            get => __pbn__market_fee ?? "";
            set => __pbn__market_fee = value;
        }
        public bool ShouldSerializemarket_fee() => __pbn__market_fee != null;
        public void Resetmarket_fee() => __pbn__market_fee = null;
        private string __pbn__market_fee;

        [global::ProtoBuf.ProtoMember(28)]
        public int market_fee_app
        {
            get => __pbn__market_fee_app.GetValueOrDefault();
            set => __pbn__market_fee_app = value;
        }
        public bool ShouldSerializemarket_fee_app() => __pbn__market_fee_app != null;
        public void Resetmarket_fee_app() => __pbn__market_fee_app = null;
        private int? __pbn__market_fee_app;

        [global::ProtoBuf.ProtoMember(20)]
        public CEconItem_Description contained_item { get; set; }

        [global::ProtoBuf.ProtoMember(21)]
        public global::System.Collections.Generic.List<CEconItem_Action> market_actions { get; } = new global::System.Collections.Generic.List<CEconItem_Action>();

        [global::ProtoBuf.ProtoMember(22)]
        public bool commodity
        {
            get => __pbn__commodity.GetValueOrDefault();
            set => __pbn__commodity = value;
        }
        public bool ShouldSerializecommodity() => __pbn__commodity != null;
        public void Resetcommodity() => __pbn__commodity = null;
        private bool? __pbn__commodity;

        [global::ProtoBuf.ProtoMember(23)]
        public int market_tradable_restriction
        {
            get => __pbn__market_tradable_restriction.GetValueOrDefault();
            set => __pbn__market_tradable_restriction = value;
        }
        public bool ShouldSerializemarket_tradable_restriction() => __pbn__market_tradable_restriction != null;
        public void Resetmarket_tradable_restriction() => __pbn__market_tradable_restriction = null;
        private int? __pbn__market_tradable_restriction;

        [global::ProtoBuf.ProtoMember(24)]
        public int market_marketable_restriction
        {
            get => __pbn__market_marketable_restriction.GetValueOrDefault();
            set => __pbn__market_marketable_restriction = value;
        }
        public bool ShouldSerializemarket_marketable_restriction() => __pbn__market_marketable_restriction != null;
        public void Resetmarket_marketable_restriction() => __pbn__market_marketable_restriction = null;
        private int? __pbn__market_marketable_restriction;

        [global::ProtoBuf.ProtoMember(25)]
        public bool marketable
        {
            get => __pbn__marketable.GetValueOrDefault();
            set => __pbn__marketable = value;
        }
        public bool ShouldSerializemarketable() => __pbn__marketable != null;
        public void Resetmarketable() => __pbn__marketable = null;
        private bool? __pbn__marketable;

        [global::ProtoBuf.ProtoMember(26)]
        public global::System.Collections.Generic.List<CEconItem_Tag> tags { get; } = new global::System.Collections.Generic.List<CEconItem_Tag>();

        [global::ProtoBuf.ProtoMember(27)]
        [global::System.ComponentModel.DefaultValue("")]
        public string item_expiration
        {
            get => __pbn__item_expiration ?? "";
            set => __pbn__item_expiration = value;
        }
        public bool ShouldSerializeitem_expiration() => __pbn__item_expiration != null;
        public void Resetitem_expiration() => __pbn__item_expiration = null;
        private string __pbn__item_expiration;

        [global::ProtoBuf.ProtoMember(30)]
        [global::System.ComponentModel.DefaultValue("")]
        public string market_buy_country_restriction
        {
            get => __pbn__market_buy_country_restriction ?? "";
            set => __pbn__market_buy_country_restriction = value;
        }
        public bool ShouldSerializemarket_buy_country_restriction() => __pbn__market_buy_country_restriction != null;
        public void Resetmarket_buy_country_restriction() => __pbn__market_buy_country_restriction = null;
        private string __pbn__market_buy_country_restriction;

        [global::ProtoBuf.ProtoMember(31)]
        [global::System.ComponentModel.DefaultValue("")]
        public string market_sell_country_restriction
        {
            get => __pbn__market_sell_country_restriction ?? "";
            set => __pbn__market_sell_country_restriction = value;
        }
        public bool ShouldSerializemarket_sell_country_restriction() => __pbn__market_sell_country_restriction != null;
        public void Resetmarket_sell_country_restriction() => __pbn__market_sell_country_restriction = null;
        private string __pbn__market_sell_country_restriction;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CEconItem_Tag : 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 appid
        {
            get => __pbn__appid.GetValueOrDefault();
            set => __pbn__appid = value;
        }
        public bool ShouldSerializeappid() => __pbn__appid != null;
        public void Resetappid() => __pbn__appid = null;
        private uint? __pbn__appid;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string category
        {
            get => __pbn__category ?? "";
            set => __pbn__category = value;
        }
        public bool ShouldSerializecategory() => __pbn__category != null;
        public void Resetcategory() => __pbn__category = null;
        private string __pbn__category;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string internal_name
        {
            get => __pbn__internal_name ?? "";
            set => __pbn__internal_name = value;
        }
        public bool ShouldSerializeinternal_name() => __pbn__internal_name != null;
        public void Resetinternal_name() => __pbn__internal_name = null;
        private string __pbn__internal_name;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue("")]
        public string localized_category_name
        {
            get => __pbn__localized_category_name ?? "";
            set => __pbn__localized_category_name = value;
        }
        public bool ShouldSerializelocalized_category_name() => __pbn__localized_category_name != null;
        public void Resetlocalized_category_name() => __pbn__localized_category_name = null;
        private string __pbn__localized_category_name;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue("")]
        public string localized_tag_name
        {
            get => __pbn__localized_tag_name ?? "";
            set => __pbn__localized_tag_name = value;
        }
        public bool ShouldSerializelocalized_tag_name() => __pbn__localized_tag_name != null;
        public void Resetlocalized_tag_name() => __pbn__localized_tag_name = null;
        private string __pbn__localized_tag_name;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue("")]
        public string color
        {
            get => __pbn__color ?? "";
            set => __pbn__color = value;
        }
        public bool ShouldSerializecolor() => __pbn__color != null;
        public void Resetcolor() => __pbn__color = null;
        private string __pbn__color;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CEcon_GetAssetClassInfo_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<CEconItem_Description> descriptions { get; } = new global::System.Collections.Generic.List<CEconItem_Description>();

    }

    public interface IEcon
    {
        CEcon_GetTradeOfferAccessToken_Response GetTradeOfferAccessToken(CEcon_GetTradeOfferAccessToken_Request request);
        CEcon_ClientGetItemShopOverlayAuthURL_Response ClientGetItemShopOverlayAuthURL(CEcon_ClientGetItemShopOverlayAuthURL_Request request);
        CEcon_GetAssetClassInfo_Response GetAssetClassInfo(CEcon_GetAssetClassInfo_Request request);
    }

}

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