"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import cosmos.bank.v1beta1.bank_pb2
import cosmos.base.query.v1beta1.pagination_pb2
import cosmos.base.v1beta1.coin_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

    ADDRESS_FIELD_NUMBER: builtins.int
    DENOM_FIELD_NUMBER: builtins.int
    address: builtins.str
    """address is the address to query balances for."""
    denom: builtins.str
    """denom is the coin denom to query balances for."""
    def __init__(
        self,
        *,
        address: builtins.str = ...,
        denom: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "denom", b"denom"]) -> 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

    BALANCE_FIELD_NUMBER: builtins.int
    @property
    def balance(self) -> cosmos.base.v1beta1.coin_pb2.Coin:
        """balance is the balance of the coin."""
    def __init__(
        self,
        *,
        balance: cosmos.base.v1beta1.coin_pb2.Coin | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["balance", b"balance"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["balance", b"balance"]) -> None: ...

global___QueryBalanceResponse = QueryBalanceResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADDRESS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    address: builtins.str
    """address is the address to query balances for."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        address: 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["address", b"address", "pagination", b"pagination"]) -> None: ...

global___QueryAllBalancesRequest = QueryAllBalancesRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BALANCES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def balances(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]:
        """balances is the balances of all the coins."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        balances: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.Coin] | 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["balances", b"balances", "pagination", b"pagination"]) -> None: ...

global___QueryAllBalancesResponse = QueryAllBalancesResponse

@typing_extensions.final
class QuerySpendableBalancesRequest(google.protobuf.message.Message):
    """QuerySpendableBalancesRequest defines the gRPC request structure for querying
    an account's spendable balances.

    Since: cosmos-sdk 0.46
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADDRESS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    address: builtins.str
    """address is the address to query spendable balances for."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        address: 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["address", b"address", "pagination", b"pagination"]) -> None: ...

global___QuerySpendableBalancesRequest = QuerySpendableBalancesRequest

@typing_extensions.final
class QuerySpendableBalancesResponse(google.protobuf.message.Message):
    """QuerySpendableBalancesResponse defines the gRPC response structure for querying
    an account's spendable balances.

    Since: cosmos-sdk 0.46
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BALANCES_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def balances(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]:
        """balances is the spendable balances of all the coins."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        balances: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.Coin] | 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["balances", b"balances", "pagination", b"pagination"]) -> None: ...

global___QuerySpendableBalancesResponse = QuerySpendableBalancesResponse

@typing_extensions.final
class QuerySpendableBalanceByDenomRequest(google.protobuf.message.Message):
    """QuerySpendableBalanceByDenomRequest defines the gRPC request structure for
    querying an account's spendable balance for a specific denom.

    Since: cosmos-sdk 0.47
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADDRESS_FIELD_NUMBER: builtins.int
    DENOM_FIELD_NUMBER: builtins.int
    address: builtins.str
    """address is the address to query balances for."""
    denom: builtins.str
    """denom is the coin denom to query balances for."""
    def __init__(
        self,
        *,
        address: builtins.str = ...,
        denom: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "denom", b"denom"]) -> None: ...

global___QuerySpendableBalanceByDenomRequest = QuerySpendableBalanceByDenomRequest

@typing_extensions.final
class QuerySpendableBalanceByDenomResponse(google.protobuf.message.Message):
    """QuerySpendableBalanceByDenomResponse defines the gRPC response structure for
    querying an account's spendable balance for a specific denom.

    Since: cosmos-sdk 0.47
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BALANCE_FIELD_NUMBER: builtins.int
    @property
    def balance(self) -> cosmos.base.v1beta1.coin_pb2.Coin:
        """balance is the balance of the coin."""
    def __init__(
        self,
        *,
        balance: cosmos.base.v1beta1.coin_pb2.Coin | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["balance", b"balance"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["balance", b"balance"]) -> None: ...

global___QuerySpendableBalanceByDenomResponse = QuerySpendableBalanceByDenomResponse

@typing_extensions.final
class QueryTotalSupplyRequest(google.protobuf.message.Message):
    """QueryTotalSupplyRequest is the request type for the Query/TotalSupply 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.

        Since: cosmos-sdk 0.43
        """
    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___QueryTotalSupplyRequest = QueryTotalSupplyRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SUPPLY_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def supply(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]:
        """supply is the supply of the coins"""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response.

        Since: cosmos-sdk 0.43
        """
    def __init__(
        self,
        *,
        supply: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.Coin] | 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["pagination", b"pagination", "supply", b"supply"]) -> None: ...

global___QueryTotalSupplyResponse = QueryTotalSupplyResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DENOM_FIELD_NUMBER: builtins.int
    denom: builtins.str
    """denom is the coin denom to query balances for."""
    def __init__(
        self,
        *,
        denom: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["denom", b"denom"]) -> None: ...

global___QuerySupplyOfRequest = QuerySupplyOfRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AMOUNT_FIELD_NUMBER: builtins.int
    @property
    def amount(self) -> cosmos.base.v1beta1.coin_pb2.Coin:
        """amount is the supply of the coin."""
    def __init__(
        self,
        *,
        amount: cosmos.base.v1beta1.coin_pb2.Coin | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["amount", b"amount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["amount", b"amount"]) -> None: ...

global___QuerySupplyOfResponse = QuerySupplyOfResponse

@typing_extensions.final
class QueryParamsRequest(google.protobuf.message.Message):
    """QueryParamsRequest defines the request type for querying x/bank parameters."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___QueryParamsRequest = QueryParamsRequest

@typing_extensions.final
class QueryParamsResponse(google.protobuf.message.Message):
    """QueryParamsResponse defines the response type for querying x/bank parameters."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PARAMS_FIELD_NUMBER: builtins.int
    @property
    def params(self) -> cosmos.bank.v1beta1.bank_pb2.Params: ...
    def __init__(
        self,
        *,
        params: cosmos.bank.v1beta1.bank_pb2.Params | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["params", b"params"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["params", b"params"]) -> None: ...

global___QueryParamsResponse = QueryParamsResponse

@typing_extensions.final
class QueryDenomsMetadataRequest(google.protobuf.message.Message):
    """QueryDenomsMetadataRequest is the request type for the Query/DenomsMetadata 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___QueryDenomsMetadataRequest = QueryDenomsMetadataRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    METADATAS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def metadatas(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.bank.v1beta1.bank_pb2.Metadata]:
        """metadata provides the client information for all the registered tokens."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        metadatas: collections.abc.Iterable[cosmos.bank.v1beta1.bank_pb2.Metadata] | 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["metadatas", b"metadatas", "pagination", b"pagination"]) -> None: ...

global___QueryDenomsMetadataResponse = QueryDenomsMetadataResponse

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DENOM_FIELD_NUMBER: builtins.int
    denom: builtins.str
    """denom is the coin denom to query the metadata for."""
    def __init__(
        self,
        *,
        denom: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["denom", b"denom"]) -> None: ...

global___QueryDenomMetadataRequest = QueryDenomMetadataRequest

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    METADATA_FIELD_NUMBER: builtins.int
    @property
    def metadata(self) -> cosmos.bank.v1beta1.bank_pb2.Metadata:
        """metadata describes and provides all the client information for the requested token."""
    def __init__(
        self,
        *,
        metadata: cosmos.bank.v1beta1.bank_pb2.Metadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["metadata", b"metadata"]) -> None: ...

global___QueryDenomMetadataResponse = QueryDenomMetadataResponse

@typing_extensions.final
class QueryDenomOwnersRequest(google.protobuf.message.Message):
    """QueryDenomOwnersRequest defines the request type for the DenomOwners RPC query,
    which queries for a paginated set of all account holders of a particular
    denomination.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DENOM_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    denom: builtins.str
    """denom defines the coin denomination to query all account holders for."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request."""
    def __init__(
        self,
        *,
        denom: 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["denom", b"denom", "pagination", b"pagination"]) -> None: ...

global___QueryDenomOwnersRequest = QueryDenomOwnersRequest

@typing_extensions.final
class DenomOwner(google.protobuf.message.Message):
    """DenomOwner defines structure representing an account that owns or holds a
    particular denominated token. It contains the account address and account
    balance of the denominated token.

    Since: cosmos-sdk 0.46
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ADDRESS_FIELD_NUMBER: builtins.int
    BALANCE_FIELD_NUMBER: builtins.int
    address: builtins.str
    """address defines the address that owns a particular denomination."""
    @property
    def balance(self) -> cosmos.base.v1beta1.coin_pb2.Coin:
        """balance is the balance of the denominated coin for an account."""
    def __init__(
        self,
        *,
        address: builtins.str = ...,
        balance: cosmos.base.v1beta1.coin_pb2.Coin | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["balance", b"balance"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["address", b"address", "balance", b"balance"]) -> None: ...

global___DenomOwner = DenomOwner

@typing_extensions.final
class QueryDenomOwnersResponse(google.protobuf.message.Message):
    """QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query.

    Since: cosmos-sdk 0.46
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DENOM_OWNERS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def denom_owners(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DenomOwner]: ...
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response."""
    def __init__(
        self,
        *,
        denom_owners: collections.abc.Iterable[global___DenomOwner] | 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["denom_owners", b"denom_owners", "pagination", b"pagination"]) -> None: ...

global___QueryDenomOwnersResponse = QueryDenomOwnersResponse

@typing_extensions.final
class QuerySendEnabledRequest(google.protobuf.message.Message):
    """QuerySendEnabledRequest defines the RPC request for looking up SendEnabled entries.

    Since: cosmos-sdk 0.47
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DENOMS_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def denoms(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """denoms is the specific denoms you want look up. Leave empty to get all entries."""
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageRequest:
        """pagination defines an optional pagination for the request. This field is
        only read if the denoms field is empty.
        """
    def __init__(
        self,
        *,
        denoms: collections.abc.Iterable[builtins.str] | None = ...,
        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["denoms", b"denoms", "pagination", b"pagination"]) -> None: ...

global___QuerySendEnabledRequest = QuerySendEnabledRequest

@typing_extensions.final
class QuerySendEnabledResponse(google.protobuf.message.Message):
    """QuerySendEnabledResponse defines the RPC response of a SendEnable query.

    Since: cosmos-sdk 0.47
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SEND_ENABLED_FIELD_NUMBER: builtins.int
    PAGINATION_FIELD_NUMBER: builtins.int
    @property
    def send_enabled(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.bank.v1beta1.bank_pb2.SendEnabled]: ...
    @property
    def pagination(self) -> cosmos.base.query.v1beta1.pagination_pb2.PageResponse:
        """pagination defines the pagination in the response. This field is only
        populated if the denoms field in the request is empty.
        """
    def __init__(
        self,
        *,
        send_enabled: collections.abc.Iterable[cosmos.bank.v1beta1.bank_pb2.SendEnabled] | 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["pagination", b"pagination", "send_enabled", b"send_enabled"]) -> None: ...

global___QuerySendEnabledResponse = QuerySendEnabledResponse
