from v4_proto.gogoproto import gogo_pb2 as _gogo_pb2
from v4_proto.tendermint.types import types_pb2 as _types_pb2
from v4_proto.tendermint.types import evidence_pb2 as _evidence_pb2
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class Block(_message.Message):
    __slots__ = ("header", "data", "evidence", "last_commit")
    HEADER_FIELD_NUMBER: _ClassVar[int]
    DATA_FIELD_NUMBER: _ClassVar[int]
    EVIDENCE_FIELD_NUMBER: _ClassVar[int]
    LAST_COMMIT_FIELD_NUMBER: _ClassVar[int]
    header: _types_pb2.Header
    data: _types_pb2.Data
    evidence: _evidence_pb2.EvidenceList
    last_commit: _types_pb2.Commit
    def __init__(self, header: _Optional[_Union[_types_pb2.Header, _Mapping]] = ..., data: _Optional[_Union[_types_pb2.Data, _Mapping]] = ..., evidence: _Optional[_Union[_evidence_pb2.EvidenceList, _Mapping]] = ..., last_commit: _Optional[_Union[_types_pb2.Commit, _Mapping]] = ...) -> None: ...
