"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _PositronDataSource:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _PositronDataSourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PositronDataSource.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    MESSAGES: _PositronDataSource.ValueType  # 1
    CHATS: _PositronDataSource.ValueType  # 2
    CONTACTS: _PositronDataSource.ValueType  # 3
    GROUP_METADATA: _PositronDataSource.ValueType  # 4
    GROUP_PARTICIPANTS: _PositronDataSource.ValueType  # 5
    REACTIONS: _PositronDataSource.ValueType  # 6

class PositronDataSource(_PositronDataSource, metaclass=_PositronDataSourceEnumTypeWrapper): ...

MESSAGES: PositronDataSource.ValueType  # 1
CHATS: PositronDataSource.ValueType  # 2
CONTACTS: PositronDataSource.ValueType  # 3
GROUP_METADATA: PositronDataSource.ValueType  # 4
GROUP_PARTICIPANTS: PositronDataSource.ValueType  # 5
REACTIONS: PositronDataSource.ValueType  # 6
global___PositronDataSource = PositronDataSource

@typing.final
class PositronMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class MsgKey(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        FROMME_FIELD_NUMBER: builtins.int
        REMOTE_FIELD_NUMBER: builtins.int
        ID_FIELD_NUMBER: builtins.int
        PARTICIPANT_FIELD_NUMBER: builtins.int
        fromMe: builtins.bool
        ID: builtins.str
        @property
        def remote(self) -> global___PositronMessage.WID: ...
        @property
        def participant(self) -> global___PositronMessage.WID: ...
        def __init__(
            self,
            *,
            fromMe: builtins.bool | None = ...,
            remote: global___PositronMessage.WID | None = ...,
            ID: builtins.str | None = ...,
            participant: global___PositronMessage.WID | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["ID", b"ID", "fromMe", b"fromMe", "participant", b"participant", "remote", b"remote"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["ID", b"ID", "fromMe", b"fromMe", "participant", b"participant", "remote", b"remote"]) -> None: ...

    @typing.final
    class WID(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        SERIALIZED_FIELD_NUMBER: builtins.int
        serialized: builtins.str
        def __init__(
            self,
            *,
            serialized: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["serialized", b"serialized"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["serialized", b"serialized"]) -> None: ...

    TIMESTAMP_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    BODY_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    JSON_FIELD_NUMBER: builtins.int
    timestamp: builtins.int
    type: builtins.str
    body: builtins.str
    JSON: builtins.str
    @property
    def ID(self) -> global___PositronMessage.MsgKey: ...
    def __init__(
        self,
        *,
        timestamp: builtins.int | None = ...,
        type: builtins.str | None = ...,
        body: builtins.str | None = ...,
        ID: global___PositronMessage.MsgKey | None = ...,
        JSON: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "body", b"body", "timestamp", b"timestamp", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "body", b"body", "timestamp", b"timestamp", "type", b"type"]) -> None: ...

global___PositronMessage = PositronMessage

@typing.final
class PositronChat(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    UNREADCOUNT_FIELD_NUMBER: builtins.int
    JSON_FIELD_NUMBER: builtins.int
    ID: builtins.str
    name: builtins.str
    timestamp: builtins.int
    unreadCount: builtins.int
    JSON: builtins.str
    def __init__(
        self,
        *,
        ID: builtins.str | None = ...,
        name: builtins.str | None = ...,
        timestamp: builtins.int | None = ...,
        unreadCount: builtins.int | None = ...,
        JSON: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "name", b"name", "timestamp", b"timestamp", "unreadCount", b"unreadCount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "name", b"name", "timestamp", b"timestamp", "unreadCount", b"unreadCount"]) -> None: ...

global___PositronChat = PositronChat

@typing.final
class PositronContact(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    PHONENUMBER_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ISADDRESSBOOKCONTACT_FIELD_NUMBER: builtins.int
    JSON_FIELD_NUMBER: builtins.int
    ID: builtins.str
    phoneNumber: builtins.str
    name: builtins.str
    isAddressBookContact: builtins.bool
    JSON: builtins.str
    def __init__(
        self,
        *,
        ID: builtins.str | None = ...,
        phoneNumber: builtins.str | None = ...,
        name: builtins.str | None = ...,
        isAddressBookContact: builtins.bool | None = ...,
        JSON: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "isAddressBookContact", b"isAddressBookContact", "name", b"name", "phoneNumber", b"phoneNumber"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "isAddressBookContact", b"isAddressBookContact", "name", b"name", "phoneNumber", b"phoneNumber"]) -> None: ...

global___PositronContact = PositronContact

@typing.final
class PositronGroupMetadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    SUBJECT_FIELD_NUMBER: builtins.int
    JSON_FIELD_NUMBER: builtins.int
    ID: builtins.str
    subject: builtins.str
    JSON: builtins.str
    def __init__(
        self,
        *,
        ID: builtins.str | None = ...,
        subject: builtins.str | None = ...,
        JSON: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "subject", b"subject"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "subject", b"subject"]) -> None: ...

global___PositronGroupMetadata = PositronGroupMetadata

@typing.final
class PositronGroupParticipants(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    PARTICIPANTS_FIELD_NUMBER: builtins.int
    JSON_FIELD_NUMBER: builtins.int
    ID: builtins.str
    JSON: builtins.str
    @property
    def participants(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        ID: builtins.str | None = ...,
        participants: collections.abc.Iterable[builtins.str] | None = ...,
        JSON: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "participants", b"participants"]) -> None: ...

global___PositronGroupParticipants = PositronGroupParticipants

@typing.final
class PositronReaction(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    PARENTMSGKEY_FIELD_NUMBER: builtins.int
    REACTIONTEXT_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    SENDERUSERJID_FIELD_NUMBER: builtins.int
    JSON_FIELD_NUMBER: builtins.int
    ID: builtins.str
    parentMsgKey: builtins.str
    reactionText: builtins.str
    timestamp: builtins.int
    senderUserJID: builtins.str
    JSON: builtins.str
    def __init__(
        self,
        *,
        ID: builtins.str | None = ...,
        parentMsgKey: builtins.str | None = ...,
        reactionText: builtins.str | None = ...,
        timestamp: builtins.int | None = ...,
        senderUserJID: builtins.str | None = ...,
        JSON: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "parentMsgKey", b"parentMsgKey", "reactionText", b"reactionText", "senderUserJID", b"senderUserJID", "timestamp", b"timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ID", b"ID", "JSON", b"JSON", "parentMsgKey", b"parentMsgKey", "reactionText", b"reactionText", "senderUserJID", b"senderUserJID", "timestamp", b"timestamp"]) -> None: ...

global___PositronReaction = PositronReaction

@typing.final
class PositronData(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATASOURCE_FIELD_NUMBER: builtins.int
    MESSAGES_FIELD_NUMBER: builtins.int
    CHATS_FIELD_NUMBER: builtins.int
    CONTACTS_FIELD_NUMBER: builtins.int
    GROUPMETADATA_FIELD_NUMBER: builtins.int
    GROUPPARTICIPANTS_FIELD_NUMBER: builtins.int
    REACTIONS_FIELD_NUMBER: builtins.int
    dataSource: global___PositronDataSource.ValueType
    @property
    def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronMessage]: ...
    @property
    def chats(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronChat]: ...
    @property
    def contacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronContact]: ...
    @property
    def groupMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronGroupMetadata]: ...
    @property
    def groupParticipants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronGroupParticipants]: ...
    @property
    def reactions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PositronReaction]: ...
    def __init__(
        self,
        *,
        dataSource: global___PositronDataSource.ValueType | None = ...,
        messages: collections.abc.Iterable[global___PositronMessage] | None = ...,
        chats: collections.abc.Iterable[global___PositronChat] | None = ...,
        contacts: collections.abc.Iterable[global___PositronContact] | None = ...,
        groupMetadata: collections.abc.Iterable[global___PositronGroupMetadata] | None = ...,
        groupParticipants: collections.abc.Iterable[global___PositronGroupParticipants] | None = ...,
        reactions: collections.abc.Iterable[global___PositronReaction] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["dataSource", b"dataSource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["chats", b"chats", "contacts", b"contacts", "dataSource", b"dataSource", "groupMetadata", b"groupMetadata", "groupParticipants", b"groupParticipants", "messages", b"messages", "reactions", b"reactions"]) -> None: ...

global___PositronData = PositronData
