"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import cosmos.base.query.v1beta1.pagination_pb2
import cosmos.nft.v1beta1.nft_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class QueryBalanceRequest(google.protobuf.message.Message):
    """QueryBalanceRequest is the request type for the Query/Balance RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CLASS_ID_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    class_id: builtins.str
    """class_id associated with the nft"""
    owner: builtins.str
    """owner is the owner address of the nft"""
    def __init__(
        self,
        *,
        class_id: builtins.str = ...,
        owner: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["class_id", b"class_id", "owner", b"owner"]) -> None: ...

global___QueryBalanceRequest = QueryBalanceRequest

@typing_extensions.final
class QueryBalanceResponse(google.protobuf.message.Message):
    """QueryBalanceResponse is the response type for the Query/Balance RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AMOUNT_FIELD_NUMBER: builtins.int
    amount: builtins.int
    """amount is the number of all NFTs of a given class owned by the owner"""
    def __init__(
        self,
        *,
        amount: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["amount", b"amount"]) -> None: ...

global___QueryBalanceResponse = QueryBalanceResponse

@typing_extensions.final
class QueryOwnerRequest(google.protobuf.message.Message):
    """QueryOwnerRequest is the request type for the Query/Owner RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CLASS_ID_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    class_id: builtins.str
    """class_id associated with the nft"""
    id: builtins.str
    """id is a unique identifier of the NFT"""
    def __init__(
        self,
        *,
        class_id: builtins.str = ...,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["class_id", b"class_id", "id", b"id"]) -> None: ...

global___QueryOwnerRequest = QueryOwnerRequest

@typing_extensions.final
class QueryOwnerResponse(google.protobuf.message.Message):
    """QueryOwnerResponse is the response type for the Query/Owner RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OWNER_FIELD_NUMBER: builtins.int
    owner: builtins.str
    """owner is the owner address of the nft"""
    def __init__(
        self,
        *,
        owner: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["owner", b"owner"]) -> None: ...

global___QueryOwnerResponse = QueryOwnerResponse

@typing_extensions.final
class QuerySupplyRequest(google.protobuf.message.Message):
    """QuerySupplyRequest is the request type for the Query/Supply RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CLASS_ID_FIELD_NUMBER: builtins.int
    class_id: builtins.str
    """class_id associated with the nft"""
    def __init__(
        self,
        *,
        class_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["class_id", b"class_id"]) -> None: ...

global___QuerySupplyRequest = QuerySupplyRequest

@typing_extensions.final
class QuerySupplyResponse(google.protobuf.message.Message):
    """QuerySupplyResponse is the response type for the Query/Supply RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AMOUNT_FIELD_NUMBER: builtins.int
    amount: builtins.int
    """amount is the number of all NFTs from the given class"""
    def __init__(
        self,
        *,
        amount: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["amount", b"amount"]) -> None: ...

global___QuerySupplyResponse = QuerySupplyResponse

@typing_extensions.final
class QueryNFTsRequest(google.protobuf.message.Message):
    """QueryNFTstRequest is the request type for the Query/NFTs RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CLASS_ID_FIELD_NUMBER: builtins.int
    OWNER_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    class_id: builtins.str
    """class_id associated with the nft"""
    owner: builtins.str
    """owner is the owner address of the nft"""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        class_id: builtins.str = ...,
        owner: builtins.str = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["class_id", b"class_id", "owner", b"owner", "pagination", b"pagination"]) -> None: ...

global___QueryNFTsRequest = QueryNFTsRequest

@typing_extensions.final
class QueryNFTsResponse(google.protobuf.message.Message):
    """QueryNFTsResponse is the response type for the Query/NFTs RPC methods"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NFTS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def nfts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.nft.v1beta1.nft_pb2.NFT]:
        """NFT defines the NFT"""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        nfts: collections.abc.Iterable[cosmos.nft.v1beta1.nft_pb2.NFT] | None = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["nfts", b"nfts", "pagination", b"pagination"]) -> None: ...

global___QueryNFTsResponse = QueryNFTsResponse

@typing_extensions.final
class QueryNFTRequest(google.protobuf.message.Message):
    """QueryNFTRequest is the request type for the Query/NFT RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CLASS_ID_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    class_id: builtins.str
    """class_id associated with the nft"""
    id: builtins.str
    """id is a unique identifier of the NFT"""
    def __init__(
        self,
        *,
        class_id: builtins.str = ...,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["class_id", b"class_id", "id", b"id"]) -> None: ...

global___QueryNFTRequest = QueryNFTRequest

@typing_extensions.final
class QueryNFTResponse(google.protobuf.message.Message):
    """QueryNFTResponse is the response type for the Query/NFT RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NFT_FIELD_NUMBER: builtins.int
    @property
    def nft(self) -> cosmos.nft.v1beta1.nft_pb2.NFT:
        """owner is the owner address of the nft"""
    def __init__(
        self,
        *,
        nft: cosmos.nft.v1beta1.nft_pb2.NFT | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["nft", b"nft"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["nft", b"nft"]) -> None: ...

global___QueryNFTResponse = QueryNFTResponse

@typing_extensions.final
class QueryClassRequest(google.protobuf.message.Message):
    """QueryClassRequest is the request type for the Query/Class RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CLASS_ID_FIELD_NUMBER: builtins.int
    class_id: builtins.str
    """class_id associated with the nft"""
    def __init__(
        self,
        *,
        class_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["class_id", b"class_id"]) -> None: ...

global___QueryClassRequest = QueryClassRequest

@typing_extensions.final
class QueryClassResponse(google.protobuf.message.Message):
    """QueryClassResponse is the response type for the Query/Class RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CLASS_FIELD_NUMBER: builtins.int
    def __init__(
        self,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["class", b"class"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["class", b"class"]) -> None: ...

global___QueryClassResponse = QueryClassResponse

@typing_extensions.final
class QueryClassesRequest(google.protobuf.message.Message):
    """QueryClassesRequest is the request type for the Query/Classes RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> None: ...

global___QueryClassesRequest = QueryClassesRequest

@typing_extensions.final
class QueryClassesResponse(google.protobuf.message.Message):
    """QueryClassesResponse is the response type for the Query/Classes RPC method"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CLASSES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def classes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.nft.v1beta1.nft_pb2.Class]:
        """class defines the class of the nft type."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        classes: collections.abc.Iterable[cosmos.nft.v1beta1.nft_pb2.Class] | None = ...,
        pagination: cosmos.base.query.v1beta1.pagination_pb2.PageResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pagination", b"pagination"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["classes", b"classes", "pagination", b"pagination"]) -> None: ...

global___QueryClassesResponse = QueryClassesResponse
