"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
from builtins import (
    bool,
    int,
)

from google.protobuf.descriptor import (
    Descriptor,
    FileDescriptor,
)

from google.protobuf.message import (
    Message,
)

from typing import (
    Optional,
)

from typing_extensions import (
    Literal,
)


DESCRIPTOR: FileDescriptor

class MsgInfo(Message):
    DESCRIPTOR: Descriptor
    FROM_UIN_FIELD_NUMBER: int
    TO_UIN_FIELD_NUMBER: int
    MSG_SEQ_FIELD_NUMBER: int
    MSG_RANDOM_FIELD_NUMBER: int
    from_uin: int
    to_uin: int
    msg_seq: int
    msg_random: int
    def __init__(self,
        *,
        from_uin: Optional[int] = ...,
        to_uin: Optional[int] = ...,
        msg_seq: Optional[int] = ...,
        msg_random: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["from_uin",b"from_uin","msg_random",b"msg_random","msg_seq",b"msg_seq","to_uin",b"to_uin"]) -> bool: ...
    def ClearField(self, field_name: Literal["from_uin",b"from_uin","msg_random",b"msg_random","msg_seq",b"msg_seq","to_uin",b"to_uin"]) -> None: ...

class ReceiptInfo(Message):
    DESCRIPTOR: Descriptor
    READ_TIME_FIELD_NUMBER: int
    read_time: int
    def __init__(self,
        *,
        read_time: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["read_time",b"read_time"]) -> bool: ...
    def ClearField(self, field_name: Literal["read_time",b"read_time"]) -> None: ...

class ReceiptReq(Message):
    DESCRIPTOR: Descriptor
    COMMAND_FIELD_NUMBER: int
    INFO_FIELD_NUMBER: int
    command: int
    @property
    def info(self) -> MsgInfo: ...
    def __init__(self,
        *,
        command: Optional[int] = ...,
        info: Optional[MsgInfo] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["command",b"command","info",b"info"]) -> bool: ...
    def ClearField(self, field_name: Literal["command",b"command","info",b"info"]) -> None: ...

class ReceiptResp(Message):
    DESCRIPTOR: Descriptor
    COMMAND_FIELD_NUMBER: int
    RECEIPT_INFO_FIELD_NUMBER: int
    command: int
    @property
    def receipt_info(self) -> ReceiptInfo: ...
    def __init__(self,
        *,
        command: Optional[int] = ...,
        receipt_info: Optional[ReceiptInfo] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["command",b"command","receipt_info",b"receipt_info"]) -> bool: ...
    def ClearField(self, field_name: Literal["command",b"command","receipt_info",b"receipt_info"]) -> None: ...
