# Generated by the protocol buffer compiler.  DO NOT EDIT!
# sources: steammessages_inventory.proto
# plugin: python-betterproto

from dataclasses import dataclass
from typing import List

import betterproto


@dataclass(eq=False, repr=False)
class CInventoryGetInventoryRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    steamid: int = betterproto.uint64_field(2)


@dataclass(eq=False, repr=False)
class CInventoryResponse(betterproto.Message):
    etag: str = betterproto.string_field(1)
    removeditemids: List[int] = betterproto.uint64_field(2)
    item_json: str = betterproto.string_field(3)
    itemdef_json: str = betterproto.string_field(4)
    ticket: bytes = betterproto.bytes_field(5)
    replayed: bool = betterproto.bool_field(6)


@dataclass(eq=False, repr=False)
class CInventoryExchangeItemRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    steamid: int = betterproto.uint64_field(2)
    materialsitemid: List[int] = betterproto.uint64_field(3)
    materialsquantity: List[int] = betterproto.uint32_field(4)
    outputitemdefid: int = betterproto.uint64_field(5)


@dataclass(eq=False, repr=False)
class CInventoryGetEligiblePromoItemDefIDsRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    steamid: int = betterproto.uint64_field(2)


@dataclass(eq=False, repr=False)
class CInventoryGetEligiblePromoItemDefIDsResponse(betterproto.Message):
    itemdefids: List[int] = betterproto.uint64_field(1)


@dataclass(eq=False, repr=False)
class CInventoryAddItemRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    itemdefid: List[int] = betterproto.uint64_field(2)
    itempropsjson: List[str] = betterproto.string_field(3)
    steamid: int = betterproto.uint64_field(4)
    notify: bool = betterproto.bool_field(5)
    requestid: int = betterproto.uint64_field(6)
    trade_restriction: bool = betterproto.bool_field(7)
    is_purchase: bool = betterproto.bool_field(8)


@dataclass(eq=False, repr=False)
class CInventoryModifyItemsRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    steamid: int = betterproto.uint64_field(2)
    updates: List["CInventoryModifyItemsRequestItemPropertyUpdate"] = betterproto.message_field(3)
    timestamp: int = betterproto.uint32_field(4)


@dataclass(eq=False, repr=False)
class CInventoryModifyItemsRequestItemPropertyUpdate(betterproto.Message):
    itemid: int = betterproto.uint64_field(1)
    remove_property: bool = betterproto.bool_field(2)
    property_name: str = betterproto.string_field(3)
    property_value_bool: bool = betterproto.bool_field(4)
    property_value_int: int = betterproto.int64_field(5)
    property_value_string: str = betterproto.string_field(6)
    property_value_float: float = betterproto.float_field(7)


@dataclass(eq=False, repr=False)
class CInventoryConsumePlaytimeRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    itemdefid: int = betterproto.uint64_field(2)


@dataclass(eq=False, repr=False)
class CInventoryConsumeItemRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    itemid: int = betterproto.uint64_field(2)
    quantity: int = betterproto.uint32_field(3)
    timestamp: str = betterproto.string_field(4)
    steamid: int = betterproto.uint64_field(5)
    requestid: int = betterproto.uint64_field(6)


@dataclass(eq=False, repr=False)
class CInventoryDevSetNextDropRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    itemdefid: int = betterproto.uint64_field(2)
    droptime: str = betterproto.string_field(3)


@dataclass(eq=False, repr=False)
class CInventorySplitItemStackRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    itemid: int = betterproto.uint64_field(2)
    quantity: int = betterproto.uint32_field(3)
    steamid: int = betterproto.uint64_field(5)


@dataclass(eq=False, repr=False)
class CInventoryCombineItemStacksRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    fromitemid: int = betterproto.uint64_field(2)
    destitemid: int = betterproto.uint64_field(3)
    quantity: int = betterproto.uint32_field(4)
    steamid: int = betterproto.fixed64_field(7)


@dataclass(eq=False, repr=False)
class CInventoryGetItemDefMetaRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)


@dataclass(eq=False, repr=False)
class CInventoryGetItemDefMetaResponse(betterproto.Message):
    modified: int = betterproto.uint32_field(1)
    digest: str = betterproto.string_field(2)


@dataclass(eq=False, repr=False)
class CInventoryGetUserPurchaseInfoRequest(betterproto.Message):
    pass


@dataclass(eq=False, repr=False)
class CInventoryGetUserPurchaseInfoResponse(betterproto.Message):
    ecurrency: int = betterproto.int32_field(1)


@dataclass(eq=False, repr=False)
class CInventoryPurchaseInitRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    language: int = betterproto.int32_field(2)
    line_items: List["CInventoryPurchaseInitRequestLineItem"] = betterproto.message_field(3)


@dataclass(eq=False, repr=False)
class CInventoryPurchaseInitRequestLineItem(betterproto.Message):
    itemdefid: int = betterproto.uint64_field(1)
    quantity: int = betterproto.uint32_field(2)


@dataclass(eq=False, repr=False)
class CInventoryPurchaseInitResponse(betterproto.Message):
    orderid: int = betterproto.uint64_field(1)
    transid: int = betterproto.uint64_field(2)


@dataclass(eq=False, repr=False)
class CInventoryPurchaseFinalizeRequest(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    language: int = betterproto.int32_field(2)
    orderid: int = betterproto.uint64_field(3)


@dataclass(eq=False, repr=False)
class CInventoryInspectItemRequest(betterproto.Message):
    itemdefid: int = betterproto.uint64_field(1)
    itemid: int = betterproto.fixed64_field(2)
    tags: str = betterproto.string_field(3)


@dataclass(eq=False, repr=False)
class CInventoryClientNewItemsNotification(betterproto.Message):
    appid: int = betterproto.uint32_field(1)
    inventory_response: "CInventoryResponse" = betterproto.message_field(2)
