"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import cosmos.base.v1beta1.coin_pb2
import cosmos.staking.v1beta1.staking_pb2
import google.protobuf.any_pb2
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.timestamp_pb2
import typing
import typing_extensions

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

class MsgCreateValidator(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DESCRIPTION_FIELD_NUMBER: builtins.int
    COMMISSION_FIELD_NUMBER: builtins.int
    MIN_SELF_DELEGATION_FIELD_NUMBER: builtins.int
    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    PUBKEY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    min_self_delegation: typing.Text = ...
    delegator_address: typing.Text = ...
    validator_address: typing.Text = ...

    @property
    def description(self) -> cosmos.staking.v1beta1.staking_pb2.Description: ...

    @property
    def commission(self) -> cosmos.staking.v1beta1.staking_pb2.CommissionRates: ...

    @property
    def pubkey(self) -> google.protobuf.any_pb2.Any: ...

    @property
    def value(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...

    def __init__(self,
        *,
        description : typing.Optional[cosmos.staking.v1beta1.staking_pb2.Description] = ...,
        commission : typing.Optional[cosmos.staking.v1beta1.staking_pb2.CommissionRates] = ...,
        min_self_delegation : typing.Text = ...,
        delegator_address : typing.Text = ...,
        validator_address : typing.Text = ...,
        pubkey : typing.Optional[google.protobuf.any_pb2.Any] = ...,
        value : typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"commission",b"commission",u"description",b"description",u"pubkey",b"pubkey",u"value",b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"commission",b"commission",u"delegator_address",b"delegator_address",u"description",b"description",u"min_self_delegation",b"min_self_delegation",u"pubkey",b"pubkey",u"validator_address",b"validator_address",u"value",b"value"]) -> None: ...
global___MsgCreateValidator = MsgCreateValidator

class MsgCreateValidatorResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...

    def __init__(self,
        ) -> None: ...
global___MsgCreateValidatorResponse = MsgCreateValidatorResponse

class MsgEditValidator(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DESCRIPTION_FIELD_NUMBER: builtins.int
    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    COMMISSION_RATE_FIELD_NUMBER: builtins.int
    MIN_SELF_DELEGATION_FIELD_NUMBER: builtins.int
    validator_address: typing.Text = ...
    commission_rate: typing.Text = ...
    min_self_delegation: typing.Text = ...

    @property
    def description(self) -> cosmos.staking.v1beta1.staking_pb2.Description: ...

    def __init__(self,
        *,
        description : typing.Optional[cosmos.staking.v1beta1.staking_pb2.Description] = ...,
        validator_address : typing.Text = ...,
        commission_rate : typing.Text = ...,
        min_self_delegation : typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"description",b"description"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"commission_rate",b"commission_rate",u"description",b"description",u"min_self_delegation",b"min_self_delegation",u"validator_address",b"validator_address"]) -> None: ...
global___MsgEditValidator = MsgEditValidator

class MsgEditValidatorResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...

    def __init__(self,
        ) -> None: ...
global___MsgEditValidatorResponse = MsgEditValidatorResponse

class MsgDelegate(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    AMOUNT_FIELD_NUMBER: builtins.int
    delegator_address: typing.Text = ...
    validator_address: typing.Text = ...

    @property
    def amount(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...

    def __init__(self,
        *,
        delegator_address : typing.Text = ...,
        validator_address : typing.Text = ...,
        amount : typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"amount",b"amount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"amount",b"amount",u"delegator_address",b"delegator_address",u"validator_address",b"validator_address"]) -> None: ...
global___MsgDelegate = MsgDelegate

class MsgDelegateResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...

    def __init__(self,
        ) -> None: ...
global___MsgDelegateResponse = MsgDelegateResponse

class MsgBeginRedelegate(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    VALIDATOR_SRC_ADDRESS_FIELD_NUMBER: builtins.int
    VALIDATOR_DST_ADDRESS_FIELD_NUMBER: builtins.int
    AMOUNT_FIELD_NUMBER: builtins.int
    delegator_address: typing.Text = ...
    validator_src_address: typing.Text = ...
    validator_dst_address: typing.Text = ...

    @property
    def amount(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...

    def __init__(self,
        *,
        delegator_address : typing.Text = ...,
        validator_src_address : typing.Text = ...,
        validator_dst_address : typing.Text = ...,
        amount : typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"amount",b"amount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"amount",b"amount",u"delegator_address",b"delegator_address",u"validator_dst_address",b"validator_dst_address",u"validator_src_address",b"validator_src_address"]) -> None: ...
global___MsgBeginRedelegate = MsgBeginRedelegate

class MsgBeginRedelegateResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    COMPLETION_TIME_FIELD_NUMBER: builtins.int

    @property
    def completion_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...

    def __init__(self,
        *,
        completion_time : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"completion_time",b"completion_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"completion_time",b"completion_time"]) -> None: ...
global___MsgBeginRedelegateResponse = MsgBeginRedelegateResponse

class MsgUndelegate(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    DELEGATOR_ADDRESS_FIELD_NUMBER: builtins.int
    VALIDATOR_ADDRESS_FIELD_NUMBER: builtins.int
    AMOUNT_FIELD_NUMBER: builtins.int
    delegator_address: typing.Text = ...
    validator_address: typing.Text = ...

    @property
    def amount(self) -> cosmos.base.v1beta1.coin_pb2.Coin: ...

    def __init__(self,
        *,
        delegator_address : typing.Text = ...,
        validator_address : typing.Text = ...,
        amount : typing.Optional[cosmos.base.v1beta1.coin_pb2.Coin] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"amount",b"amount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"amount",b"amount",u"delegator_address",b"delegator_address",u"validator_address",b"validator_address"]) -> None: ...
global___MsgUndelegate = MsgUndelegate

class MsgUndelegateResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    COMPLETION_TIME_FIELD_NUMBER: builtins.int

    @property
    def completion_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...

    def __init__(self,
        *,
        completion_time : typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"completion_time",b"completion_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"completion_time",b"completion_time"]) -> None: ...
global___MsgUndelegateResponse = MsgUndelegateResponse
