"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import cosmos.slashing.v1beta1.slashing_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class GenesisState(google.protobuf.message.Message):
    """GenesisState defines the slashing module's genesis state."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PARAMS_FIELD_NUMBER: builtins.int
    SIGNING_INFOS_FIELD_NUMBER: builtins.int
    MISSED_BLOCKS_FIELD_NUMBER: builtins.int
    @property
    def params(self) -> cosmos.slashing.v1beta1.slashing_pb2.Params:
        """params defines all the paramaters of related to deposit."""
        pass
    @property
    def signing_infos(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SigningInfo]:
        """signing_infos represents a map between validator addresses and their
        signing infos.
        """
        pass
    @property
    def missed_blocks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ValidatorMissedBlocks]:
        """missed_blocks represents a map between validator addresses and their
        missed blocks.
        """
        pass
    def __init__(self,
        *,
        params: typing.Optional[cosmos.slashing.v1beta1.slashing_pb2.Params] = ...,
        signing_infos: typing.Optional[typing.Iterable[global___SigningInfo]] = ...,
        missed_blocks: typing.Optional[typing.Iterable[global___ValidatorMissedBlocks]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["params",b"params"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["missed_blocks",b"missed_blocks","params",b"params","signing_infos",b"signing_infos"]) -> None: ...
global___GenesisState = GenesisState

class SigningInfo(google.protobuf.message.Message):
    """SigningInfo stores validator signing info of corresponding address."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ADDRESS_FIELD_NUMBER: builtins.int
    VALIDATOR_SIGNING_INFO_FIELD_NUMBER: builtins.int
    address: typing.Text
    """address is the validator address."""

    @property
    def validator_signing_info(self) -> cosmos.slashing.v1beta1.slashing_pb2.ValidatorSigningInfo:
        """validator_signing_info represents the signing info of this validator."""
        pass
    def __init__(self,
        *,
        address: typing.Text = ...,
        validator_signing_info: typing.Optional[cosmos.slashing.v1beta1.slashing_pb2.ValidatorSigningInfo] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["validator_signing_info",b"validator_signing_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["address",b"address","validator_signing_info",b"validator_signing_info"]) -> None: ...
global___SigningInfo = SigningInfo

class ValidatorMissedBlocks(google.protobuf.message.Message):
    """ValidatorMissedBlocks contains array of missed blocks of corresponding
    address.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ADDRESS_FIELD_NUMBER: builtins.int
    MISSED_BLOCKS_FIELD_NUMBER: builtins.int
    address: typing.Text
    """address is the validator address."""

    @property
    def missed_blocks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MissedBlock]:
        """missed_blocks is an array of missed blocks by the validator."""
        pass
    def __init__(self,
        *,
        address: typing.Text = ...,
        missed_blocks: typing.Optional[typing.Iterable[global___MissedBlock]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["address",b"address","missed_blocks",b"missed_blocks"]) -> None: ...
global___ValidatorMissedBlocks = ValidatorMissedBlocks

class MissedBlock(google.protobuf.message.Message):
    """MissedBlock contains height and missed status as boolean."""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    INDEX_FIELD_NUMBER: builtins.int
    MISSED_FIELD_NUMBER: builtins.int
    index: builtins.int
    """index is the height at which the block was missed."""

    missed: builtins.bool
    """missed is the missed status."""

    def __init__(self,
        *,
        index: builtins.int = ...,
        missed: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["index",b"index","missed",b"missed"]) -> None: ...
global___MissedBlock = MissedBlock
