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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class ValidatorSet(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALIDATORS_FIELD_NUMBER: builtins.int
    PROPOSER_FIELD_NUMBER: builtins.int
    TOTAL_VOTING_POWER_FIELD_NUMBER: builtins.int
    @property
    def validators(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Validator]: ...
    @property
    def proposer(self) -> global___Validator: ...
    total_voting_power: builtins.int
    def __init__(self,
        *,
        validators: typing.Optional[typing.Iterable[global___Validator]] = ...,
        proposer: typing.Optional[global___Validator] = ...,
        total_voting_power: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["proposer",b"proposer"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["proposer",b"proposer","total_voting_power",b"total_voting_power","validators",b"validators"]) -> None: ...
global___ValidatorSet = ValidatorSet

class Validator(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ADDRESS_FIELD_NUMBER: builtins.int
    PUB_KEY_FIELD_NUMBER: builtins.int
    VOTING_POWER_FIELD_NUMBER: builtins.int
    PROPOSER_PRIORITY_FIELD_NUMBER: builtins.int
    address: builtins.bytes
    @property
    def pub_key(self) -> tendermint.crypto.keys_pb2.PublicKey: ...
    voting_power: builtins.int
    proposer_priority: builtins.int
    def __init__(self,
        *,
        address: builtins.bytes = ...,
        pub_key: typing.Optional[tendermint.crypto.keys_pb2.PublicKey] = ...,
        voting_power: builtins.int = ...,
        proposer_priority: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pub_key",b"pub_key"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["address",b"address","proposer_priority",b"proposer_priority","pub_key",b"pub_key","voting_power",b"voting_power"]) -> None: ...
global___Validator = Validator

class SimpleValidator(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PUB_KEY_FIELD_NUMBER: builtins.int
    VOTING_POWER_FIELD_NUMBER: builtins.int
    @property
    def pub_key(self) -> tendermint.crypto.keys_pb2.PublicKey: ...
    voting_power: builtins.int
    def __init__(self,
        *,
        pub_key: typing.Optional[tendermint.crypto.keys_pb2.PublicKey] = ...,
        voting_power: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["pub_key",b"pub_key"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["pub_key",b"pub_key","voting_power",b"voting_power"]) -> None: ...
global___SimpleValidator = SimpleValidator
