
from tendermint.types import block_pb2 as _block_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 BlockRequest(_message.Message):
    __slots__ = ['height']
    HEIGHT_FIELD_NUMBER: _ClassVar[int]
    height: int

    def __init__(self, height: _Optional[int]=...) -> None:
        ...

class BlockResponse(_message.Message):
    __slots__ = ['block']
    BLOCK_FIELD_NUMBER: _ClassVar[int]
    block: _block_pb2.Block

    def __init__(self, block: _Optional[_Union[(_block_pb2.Block, _Mapping)]]=...) -> None:
        ...

class Message(_message.Message):
    __slots__ = ['block_request', 'block_response', 'no_block_response', 'status_request', 'status_response']
    BLOCK_REQUEST_FIELD_NUMBER: _ClassVar[int]
    BLOCK_RESPONSE_FIELD_NUMBER: _ClassVar[int]
    NO_BLOCK_RESPONSE_FIELD_NUMBER: _ClassVar[int]
    STATUS_REQUEST_FIELD_NUMBER: _ClassVar[int]
    STATUS_RESPONSE_FIELD_NUMBER: _ClassVar[int]
    block_request: BlockRequest
    block_response: BlockResponse
    no_block_response: NoBlockResponse
    status_request: StatusRequest
    status_response: StatusResponse

    def __init__(self, block_request: _Optional[_Union[(BlockRequest, _Mapping)]]=..., no_block_response: _Optional[_Union[(NoBlockResponse, _Mapping)]]=..., block_response: _Optional[_Union[(BlockResponse, _Mapping)]]=..., status_request: _Optional[_Union[(StatusRequest, _Mapping)]]=..., status_response: _Optional[_Union[(StatusResponse, _Mapping)]]=...) -> None:
        ...

class NoBlockResponse(_message.Message):
    __slots__ = ['height']
    HEIGHT_FIELD_NUMBER: _ClassVar[int]
    height: int

    def __init__(self, height: _Optional[int]=...) -> None:
        ...

class StatusRequest(_message.Message):
    __slots__ = []

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

class StatusResponse(_message.Message):
    __slots__ = ['base', 'height']
    BASE_FIELD_NUMBER: _ClassVar[int]
    HEIGHT_FIELD_NUMBER: _ClassVar[int]
    base: int
    height: int

    def __init__(self, height: _Optional[int]=..., base: _Optional[int]=...) -> None:
        ...
