"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

# FungibleTokenPacketData defines a struct for the packet payload
# See FungibleTokenPacketData spec:
# https://github.com/cosmos/ics/tree/master/spec/ics-020-fungible-token-transfer#data-structures
class FungibleTokenPacketData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DENOM_FIELD_NUMBER: builtins.int
    AMOUNT_FIELD_NUMBER: builtins.int
    SENDER_FIELD_NUMBER: builtins.int
    RECEIVER_FIELD_NUMBER: builtins.int
    # the token denomination to be transferred
    denom: typing.Text = ...
    # the token amount to be transferred
    amount: builtins.int = ...
    # the sender address
    sender: typing.Text = ...
    # the recipient address on the destination chain
    receiver: typing.Text = ...
    def __init__(self,
        *,
        denom : typing.Text = ...,
        amount : builtins.int = ...,
        sender : typing.Text = ...,
        receiver : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"amount",b"amount",u"denom",b"denom",u"receiver",b"receiver",u"sender",b"sender"]) -> None: ...
global___FungibleTokenPacketData = FungibleTokenPacketData

# DenomTrace contains the base denomination for ICS20 fungible tokens and the
# source tracing information path.
class DenomTrace(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PATH_FIELD_NUMBER: builtins.int
    BASE_DENOM_FIELD_NUMBER: builtins.int
    # path defines the chain of port/channel identifiers used for tracing the
    # source of the fungible token.
    path: typing.Text = ...
    # base denomination of the relayed fungible token.
    base_denom: typing.Text = ...
    def __init__(self,
        *,
        path : typing.Text = ...,
        base_denom : typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"base_denom",b"base_denom",u"path",b"path"]) -> None: ...
global___DenomTrace = DenomTrace

# Params defines the set of IBC transfer parameters.
# NOTE: To prevent a single token from being transferred, set the
# TransfersEnabled parameter to true and then set the bank module's SendEnabled
# parameter for the denomination to false.
class Params(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    SEND_ENABLED_FIELD_NUMBER: builtins.int
    RECEIVE_ENABLED_FIELD_NUMBER: builtins.int
    # send_enabled enables or disables all cross-chain token transfers from this
    # chain.
    send_enabled: builtins.bool = ...
    # receive_enabled enables or disables all cross-chain token transfers to this
    # chain.
    receive_enabled: builtins.bool = ...
    def __init__(self,
        *,
        send_enabled : builtins.bool = ...,
        receive_enabled : builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"receive_enabled",b"receive_enabled",u"send_enabled",b"send_enabled"]) -> None: ...
global___Params = Params
