"""
@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.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 MsgSend(google.protobuf.message.Message):
    """MsgSend represents a message to send coins from one account to another."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FROM_ADDRESS_FIELD_NUMBER: builtins.int
    TO_ADDRESS_FIELD_NUMBER: builtins.int
    AMOUNT_FIELD_NUMBER: builtins.int
    from_address: builtins.str
    to_address: builtins.str
    @property
    def amount(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.base.v1beta1.coin_pb2.Coin]: ...
    def __init__(
        self,
        *,
        from_address: builtins.str = ...,
        to_address: builtins.str = ...,
        amount: collections.abc.Iterable[cosmos.base.v1beta1.coin_pb2.Coin] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["amount", b"amount", "from_address", b"from_address", "to_address", b"to_address"]) -> None: ...

global___MsgSend = MsgSend

@typing_extensions.final
class MsgSendResponse(google.protobuf.message.Message):
    """MsgSendResponse defines the Msg/Send response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgSendResponse = MsgSendResponse

@typing_extensions.final
class MsgMultiSend(google.protobuf.message.Message):
    """MsgMultiSend represents an arbitrary multi-in, multi-out send message."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INPUTS_FIELD_NUMBER: builtins.int
    OUTPUTS_FIELD_NUMBER: builtins.int
    @property
    def inputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.bank.v1beta1.bank_pb2.Input]:
        """Inputs, despite being `repeated`, only allows one sender input. This is
        checked in MsgMultiSend's ValidateBasic.
        """
    @property
    def outputs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.bank.v1beta1.bank_pb2.Output]: ...
    def __init__(
        self,
        *,
        inputs: collections.abc.Iterable[cosmos.bank.v1beta1.bank_pb2.Input] | None = ...,
        outputs: collections.abc.Iterable[cosmos.bank.v1beta1.bank_pb2.Output] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["inputs", b"inputs", "outputs", b"outputs"]) -> None: ...

global___MsgMultiSend = MsgMultiSend

@typing_extensions.final
class MsgMultiSendResponse(google.protobuf.message.Message):
    """MsgMultiSendResponse defines the Msg/MultiSend response type."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgMultiSendResponse = MsgMultiSendResponse

@typing_extensions.final
class MsgUpdateParams(google.protobuf.message.Message):
    """MsgUpdateParams is the Msg/UpdateParams request type.

    Since: cosmos-sdk 0.47
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AUTHORITY_FIELD_NUMBER: builtins.int
    PARAMS_FIELD_NUMBER: builtins.int
    authority: builtins.str
    """authority is the address that controls the module (defaults to x/gov unless overwritten)."""
    @property
    def params(self) -> cosmos.bank.v1beta1.bank_pb2.Params:
        """params defines the x/bank parameters to update.

        NOTE: All parameters must be supplied.
        """
    def __init__(
        self,
        *,
        authority: builtins.str = ...,
        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["authority", b"authority", "params", b"params"]) -> None: ...

global___MsgUpdateParams = MsgUpdateParams

@typing_extensions.final
class MsgUpdateParamsResponse(google.protobuf.message.Message):
    """MsgUpdateParamsResponse defines the response structure for executing a
    MsgUpdateParams message.

    Since: cosmos-sdk 0.47
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgUpdateParamsResponse = MsgUpdateParamsResponse

@typing_extensions.final
class MsgSetSendEnabled(google.protobuf.message.Message):
    """MsgSetSendEnabled is the Msg/SetSendEnabled request type.

    Only entries to add/update/delete need to be included.
    Existing SendEnabled entries that are not included in this
    message are left unchanged.

    Since: cosmos-sdk 0.47
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AUTHORITY_FIELD_NUMBER: builtins.int
    SEND_ENABLED_FIELD_NUMBER: builtins.int
    USE_DEFAULT_FOR_FIELD_NUMBER: builtins.int
    authority: builtins.str
    @property
    def send_enabled(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[cosmos.bank.v1beta1.bank_pb2.SendEnabled]:
        """send_enabled is the list of entries to add or update."""
    @property
    def use_default_for(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """use_default_for is a list of denoms that should use the params.default_send_enabled value.
        Denoms listed here will have their SendEnabled entries deleted.
        If a denom is included that doesn't have a SendEnabled entry,
        it will be ignored.
        """
    def __init__(
        self,
        *,
        authority: builtins.str = ...,
        send_enabled: collections.abc.Iterable[cosmos.bank.v1beta1.bank_pb2.SendEnabled] | None = ...,
        use_default_for: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["authority", b"authority", "send_enabled", b"send_enabled", "use_default_for", b"use_default_for"]) -> None: ...

global___MsgSetSendEnabled = MsgSetSendEnabled

@typing_extensions.final
class MsgSetSendEnabledResponse(google.protobuf.message.Message):
    """MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type.

    Since: cosmos-sdk 0.47
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MsgSetSendEnabledResponse = MsgSetSendEnabledResponse
