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

import api_pb2
import builtins
import collections.abc
import communities_pb2
import discussions_pb2
import events_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
import requests_pb2
import sys
import threads_pb2
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _SVFailReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SVFailReason.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    SV_FAIL_REASON_UNKNOWN: _SVFailReason.ValueType  # 0
    SV_FAIL_REASON_WRONG_BIRTHDATE_OR_GENDER: _SVFailReason.ValueType  # 1
    """birthdate doesn't match profile or gender"""
    SV_FAIL_REASON_NOT_A_PASSPORT: _SVFailReason.ValueType  # 2
    """not a passport (e.g. used a ID card)"""
    SV_FAIL_REASON_DUPLICATE: _SVFailReason.ValueType  # 3
    """this passport is already used by someone else or the same user"""

class SVFailReason(_SVFailReason, metaclass=_SVFailReasonEnumTypeWrapper): ...

SV_FAIL_REASON_UNKNOWN: SVFailReason.ValueType  # 0
SV_FAIL_REASON_WRONG_BIRTHDATE_OR_GENDER: SVFailReason.ValueType  # 1
"""birthdate doesn't match profile or gender"""
SV_FAIL_REASON_NOT_A_PASSPORT: SVFailReason.ValueType  # 2
"""not a passport (e.g. used a ID card)"""
SV_FAIL_REASON_DUPLICATE: SVFailReason.ValueType  # 3
"""this passport is already used by someone else or the same user"""
Global___SVFailReason: typing_extensions.TypeAlias = SVFailReason

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

class _PostalVerificationFailReasonEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PostalVerificationFailReason.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    POSTAL_VERIFICATION_FAIL_REASON_UNKNOWN: _PostalVerificationFailReason.ValueType  # 0
    POSTAL_VERIFICATION_FAIL_REASON_CODE_EXPIRED: _PostalVerificationFailReason.ValueType  # 1
    """Code expired (90 days since postcard sent)"""
    POSTAL_VERIFICATION_FAIL_REASON_TOO_MANY_ATTEMPTS: _PostalVerificationFailReason.ValueType  # 2
    """Too many wrong attempts (5 attempts)"""

class PostalVerificationFailReason(_PostalVerificationFailReason, metaclass=_PostalVerificationFailReasonEnumTypeWrapper): ...

POSTAL_VERIFICATION_FAIL_REASON_UNKNOWN: PostalVerificationFailReason.ValueType  # 0
POSTAL_VERIFICATION_FAIL_REASON_CODE_EXPIRED: PostalVerificationFailReason.ValueType  # 1
"""Code expired (90 days since postcard sent)"""
POSTAL_VERIFICATION_FAIL_REASON_TOO_MANY_ATTEMPTS: PostalVerificationFailReason.ValueType  # 2
"""Too many wrong attempts (5 attempts)"""
Global___PostalVerificationFailReason: typing_extensions.TypeAlias = PostalVerificationFailReason

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

    HOST_REQUEST_FIELD_NUMBER: builtins.int
    SURFER_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    text: builtins.str
    @property
    def host_request(self) -> requests_pb2.HostRequest: ...
    @property
    def surfer(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        host_request: requests_pb2.HostRequest | None = ...,
        surfer: api_pb2.User | None = ...,
        text: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host_request", b"host_request", "surfer", b"surfer"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["host_request", b"host_request", "surfer", b"surfer", "text", b"text"]) -> None: ...

Global___HostRequestCreate: typing_extensions.TypeAlias = HostRequestCreate

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

    HOST_REQUEST_FIELD_NUMBER: builtins.int
    HOST_FIELD_NUMBER: builtins.int
    @property
    def host_request(self) -> requests_pb2.HostRequest: ...
    @property
    def host(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        host_request: requests_pb2.HostRequest | None = ...,
        host: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host", b"host", "host_request", b"host_request"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["host", b"host", "host_request", b"host_request"]) -> None: ...

Global___HostRequestAccept: typing_extensions.TypeAlias = HostRequestAccept

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

    HOST_REQUEST_FIELD_NUMBER: builtins.int
    HOST_FIELD_NUMBER: builtins.int
    @property
    def host_request(self) -> requests_pb2.HostRequest: ...
    @property
    def host(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        host_request: requests_pb2.HostRequest | None = ...,
        host: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host", b"host", "host_request", b"host_request"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["host", b"host", "host_request", b"host_request"]) -> None: ...

Global___HostRequestReject: typing_extensions.TypeAlias = HostRequestReject

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

    HOST_REQUEST_FIELD_NUMBER: builtins.int
    SURFER_FIELD_NUMBER: builtins.int
    @property
    def host_request(self) -> requests_pb2.HostRequest: ...
    @property
    def surfer(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        host_request: requests_pb2.HostRequest | None = ...,
        surfer: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host_request", b"host_request", "surfer", b"surfer"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["host_request", b"host_request", "surfer", b"surfer"]) -> None: ...

Global___HostRequestConfirm: typing_extensions.TypeAlias = HostRequestConfirm

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

    HOST_REQUEST_FIELD_NUMBER: builtins.int
    SURFER_FIELD_NUMBER: builtins.int
    @property
    def host_request(self) -> requests_pb2.HostRequest: ...
    @property
    def surfer(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        host_request: requests_pb2.HostRequest | None = ...,
        surfer: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host_request", b"host_request", "surfer", b"surfer"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["host_request", b"host_request", "surfer", b"surfer"]) -> None: ...

Global___HostRequestCancel: typing_extensions.TypeAlias = HostRequestCancel

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

    HOST_REQUEST_FIELD_NUMBER: builtins.int
    USER_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    AM_HOST_FIELD_NUMBER: builtins.int
    text: builtins.str
    am_host: builtins.bool
    @property
    def host_request(self) -> requests_pb2.HostRequest: ...
    @property
    def user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        host_request: requests_pb2.HostRequest | None = ...,
        user: api_pb2.User | None = ...,
        text: builtins.str | None = ...,
        am_host: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host_request", b"host_request", "user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["am_host", b"am_host", "host_request", b"host_request", "text", b"text", "user", b"user"]) -> None: ...

Global___HostRequestMessage: typing_extensions.TypeAlias = HostRequestMessage

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

    HOST_REQUEST_FIELD_NUMBER: builtins.int
    USER_FIELD_NUMBER: builtins.int
    AM_HOST_FIELD_NUMBER: builtins.int
    am_host: builtins.bool
    @property
    def host_request(self) -> requests_pb2.HostRequest: ...
    @property
    def user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        host_request: requests_pb2.HostRequest | None = ...,
        user: api_pb2.User | None = ...,
        am_host: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host_request", b"host_request", "user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["am_host", b"am_host", "host_request", b"host_request", "user", b"user"]) -> None: ...

Global___HostRequestMissedMessages: typing_extensions.TypeAlias = HostRequestMissedMessages

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

    HOST_REQUEST_FIELD_NUMBER: builtins.int
    SURFER_FIELD_NUMBER: builtins.int
    @property
    def host_request(self) -> requests_pb2.HostRequest: ...
    @property
    def surfer(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        host_request: requests_pb2.HostRequest | None = ...,
        surfer: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["host_request", b"host_request", "surfer", b"surfer"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["host_request", b"host_request", "surfer", b"surfer"]) -> None: ...

Global___HostRequestReminder: typing_extensions.TypeAlias = HostRequestReminder

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

    BADGE_ID_FIELD_NUMBER: builtins.int
    BADGE_NAME_FIELD_NUMBER: builtins.int
    BADGE_DESCRIPTION_FIELD_NUMBER: builtins.int
    badge_id: builtins.str
    badge_name: builtins.str
    badge_description: builtins.str
    def __init__(
        self,
        *,
        badge_id: builtins.str | None = ...,
        badge_name: builtins.str | None = ...,
        badge_description: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["badge_description", b"badge_description", "badge_id", b"badge_id", "badge_name", b"badge_name"]) -> None: ...

Global___BadgeAdd: typing_extensions.TypeAlias = BadgeAdd

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

    BADGE_ID_FIELD_NUMBER: builtins.int
    BADGE_NAME_FIELD_NUMBER: builtins.int
    BADGE_DESCRIPTION_FIELD_NUMBER: builtins.int
    badge_id: builtins.str
    badge_name: builtins.str
    badge_description: builtins.str
    def __init__(
        self,
        *,
        badge_id: builtins.str | None = ...,
        badge_name: builtins.str | None = ...,
        badge_description: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["badge_description", b"badge_description", "badge_id", b"badge_id", "badge_name", b"badge_name"]) -> None: ...

Global___BadgeRemove: typing_extensions.TypeAlias = BadgeRemove

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

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

Global___PhoneNumberChange: typing_extensions.TypeAlias = PhoneNumberChange

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

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

Global___PhoneNumberVerify: typing_extensions.TypeAlias = PhoneNumberVerify

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

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

Global___GenderChange: typing_extensions.TypeAlias = GenderChange

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

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

Global___BirthdateChange: typing_extensions.TypeAlias = BirthdateChange

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

    OTHER_USER_FIELD_NUMBER: builtins.int
    @property
    def other_user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        other_user: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["other_user", b"other_user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["other_user", b"other_user"]) -> None: ...

Global___FriendRequestCreate: typing_extensions.TypeAlias = FriendRequestCreate

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

    OTHER_USER_FIELD_NUMBER: builtins.int
    @property
    def other_user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        other_user: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["other_user", b"other_user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["other_user", b"other_user"]) -> None: ...

Global___FriendRequestAccept: typing_extensions.TypeAlias = FriendRequestAccept

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

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

Global___EmailAddressChange: typing_extensions.TypeAlias = EmailAddressChange

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

    AMOUNT_FIELD_NUMBER: builtins.int
    RECEIPT_URL_FIELD_NUMBER: builtins.int
    amount: builtins.int
    """whole dollar amount"""
    receipt_url: builtins.str
    def __init__(
        self,
        *,
        amount: builtins.int | None = ...,
        receipt_url: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["amount", b"amount", "receipt_url", b"receipt_url"]) -> None: ...

Global___DonationReceived: typing_extensions.TypeAlias = DonationReceived

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

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

Global___PasswordResetStart: typing_extensions.TypeAlias = PasswordResetStart

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

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

Global___AccountDeletionStart: typing_extensions.TypeAlias = AccountDeletionStart

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

    UNDELETE_TOKEN_FIELD_NUMBER: builtins.int
    UNDELETE_DAYS_FIELD_NUMBER: builtins.int
    undelete_token: builtins.str
    undelete_days: builtins.int
    def __init__(
        self,
        *,
        undelete_token: builtins.str | None = ...,
        undelete_days: builtins.int | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["undelete_days", b"undelete_days", "undelete_token", b"undelete_token"]) -> None: ...

Global___AccountDeletionComplete: typing_extensions.TypeAlias = AccountDeletionComplete

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

    API_KEY_FIELD_NUMBER: builtins.int
    EXPIRY_FIELD_NUMBER: builtins.int
    api_key: builtins.str
    @property
    def expiry(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        api_key: builtins.str | None = ...,
        expiry: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["expiry", b"expiry"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["api_key", b"api_key", "expiry", b"expiry"]) -> None: ...

Global___ApiKeyCreate: typing_extensions.TypeAlias = ApiKeyCreate

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

    EVENT_FIELD_NUMBER: builtins.int
    INVITING_USER_FIELD_NUMBER: builtins.int
    @property
    def event(self) -> events_pb2.Event: ...
    @property
    def inviting_user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        event: events_pb2.Event | None = ...,
        inviting_user: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["event", b"event", "inviting_user", b"inviting_user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["event", b"event", "inviting_user", b"inviting_user"]) -> None: ...

Global___EventInviteOrganizer: typing_extensions.TypeAlias = EventInviteOrganizer

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

    EVENT_FIELD_NUMBER: builtins.int
    INVITING_USER_FIELD_NUMBER: builtins.int
    NEARBY_FIELD_NUMBER: builtins.int
    IN_COMMUNITY_FIELD_NUMBER: builtins.int
    nearby: builtins.bool
    @property
    def event(self) -> events_pb2.Event: ...
    @property
    def inviting_user(self) -> api_pb2.User: ...
    @property
    def in_community(self) -> communities_pb2.Community: ...
    def __init__(
        self,
        *,
        event: events_pb2.Event | None = ...,
        inviting_user: api_pb2.User | None = ...,
        nearby: builtins.bool | None = ...,
        in_community: communities_pb2.Community | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["event", b"event", "in_community", b"in_community", "inviting_user", b"inviting_user", "nearby", b"nearby", "notification_reason", b"notification_reason"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["event", b"event", "in_community", b"in_community", "inviting_user", b"inviting_user", "nearby", b"nearby", "notification_reason", b"notification_reason"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["notification_reason", b"notification_reason"]) -> typing.Literal["nearby", "in_community"] | None: ...

Global___EventCreate: typing_extensions.TypeAlias = EventCreate

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

    EVENT_FIELD_NUMBER: builtins.int
    UPDATING_USER_FIELD_NUMBER: builtins.int
    UPDATED_ITEMS_FIELD_NUMBER: builtins.int
    @property
    def event(self) -> events_pb2.Event: ...
    @property
    def updating_user(self) -> api_pb2.User: ...
    @property
    def updated_items(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        event: events_pb2.Event | None = ...,
        updating_user: api_pb2.User | None = ...,
        updated_items: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["event", b"event", "updating_user", b"updating_user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["event", b"event", "updated_items", b"updated_items", "updating_user", b"updating_user"]) -> None: ...

Global___EventUpdate: typing_extensions.TypeAlias = EventUpdate

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

    EVENT_FIELD_NUMBER: builtins.int
    CANCELLING_USER_FIELD_NUMBER: builtins.int
    @property
    def event(self) -> events_pb2.Event: ...
    @property
    def cancelling_user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        event: events_pb2.Event | None = ...,
        cancelling_user: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["cancelling_user", b"cancelling_user", "event", b"event"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["cancelling_user", b"cancelling_user", "event", b"event"]) -> None: ...

Global___EventCancel: typing_extensions.TypeAlias = EventCancel

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

    EVENT_FIELD_NUMBER: builtins.int
    @property
    def event(self) -> events_pb2.Event: ...
    def __init__(
        self,
        *,
        event: events_pb2.Event | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["event", b"event"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["event", b"event"]) -> None: ...

Global___EventDelete: typing_extensions.TypeAlias = EventDelete

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

    AUTHOR_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    GROUP_CHAT_ID_FIELD_NUMBER: builtins.int
    message: builtins.str
    text: builtins.str
    group_chat_id: builtins.int
    @property
    def author(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        author: api_pb2.User | None = ...,
        message: builtins.str | None = ...,
        text: builtins.str | None = ...,
        group_chat_id: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["author", b"author"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["author", b"author", "group_chat_id", b"group_chat_id", "message", b"message", "text", b"text"]) -> None: ...

Global___ChatMessage: typing_extensions.TypeAlias = ChatMessage

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

    MESSAGES_FIELD_NUMBER: builtins.int
    @property
    def messages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ChatMessage]: ...
    def __init__(
        self,
        *,
        messages: collections.abc.Iterable[Global___ChatMessage] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["messages", b"messages"]) -> None: ...

Global___ChatMissedMessages: typing_extensions.TypeAlias = ChatMissedMessages

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

    FROM_USER_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    text: builtins.str
    @property
    def from_user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        from_user: api_pb2.User | None = ...,
        text: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["from_user", b"from_user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["from_user", b"from_user", "text", b"text"]) -> None: ...

Global___ReferenceReceiveFriend: typing_extensions.TypeAlias = ReferenceReceiveFriend

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

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    FROM_USER_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    text: builtins.str
    """this is non-empty iff both have written a reference, so they are unhidden"""
    @property
    def from_user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        from_user: api_pb2.User | None = ...,
        text: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["from_user", b"from_user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["from_user", b"from_user", "host_request_id", b"host_request_id", "text", b"text"]) -> None: ...

Global___ReferenceReceiveHostRequest: typing_extensions.TypeAlias = ReferenceReceiveHostRequest

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

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    OTHER_USER_FIELD_NUMBER: builtins.int
    DAYS_LEFT_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    days_left: builtins.int
    """time left to write the req in days"""
    @property
    def other_user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        other_user: api_pb2.User | None = ...,
        days_left: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["other_user", b"other_user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["days_left", b"days_left", "host_request_id", b"host_request_id", "other_user", b"other_user"]) -> None: ...

Global___ReferenceReminder: typing_extensions.TypeAlias = ReferenceReminder

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

    EVENT_FIELD_NUMBER: builtins.int
    USER_FIELD_NUMBER: builtins.int
    @property
    def event(self) -> events_pb2.Event: ...
    @property
    def user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        event: events_pb2.Event | None = ...,
        user: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["event", b"event", "user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["event", b"event", "user", b"user"]) -> None: ...

Global___EventReminder: typing_extensions.TypeAlias = EventReminder

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

    REASON_FIELD_NUMBER: builtins.int
    reason: Global___SVFailReason.ValueType
    def __init__(
        self,
        *,
        reason: Global___SVFailReason.ValueType | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["reason", b"reason"]) -> None: ...

Global___VerificationSVFail: typing_extensions.TypeAlias = VerificationSVFail

@typing.final
class PostalVerificationPostcardSent(google.protobuf.message.Message):
    """Postal verification notifications"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CITY_FIELD_NUMBER: builtins.int
    COUNTRY_FIELD_NUMBER: builtins.int
    city: builtins.str
    """Address where postcard was sent (city, country for privacy)"""
    country: builtins.str
    def __init__(
        self,
        *,
        city: builtins.str | None = ...,
        country: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["city", b"city", "country", b"country"]) -> None: ...

Global___PostalVerificationPostcardSent: typing_extensions.TypeAlias = PostalVerificationPostcardSent

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

    REASON_FIELD_NUMBER: builtins.int
    reason: Global___PostalVerificationFailReason.ValueType
    def __init__(
        self,
        *,
        reason: Global___PostalVerificationFailReason.ValueType | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["reason", b"reason"]) -> None: ...

Global___PostalVerificationFailed: typing_extensions.TypeAlias = PostalVerificationFailed

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

    REPLY_FIELD_NUMBER: builtins.int
    EVENT_FIELD_NUMBER: builtins.int
    AUTHOR_FIELD_NUMBER: builtins.int
    @property
    def reply(self) -> threads_pb2.Reply: ...
    @property
    def event(self) -> events_pb2.Event: ...
    @property
    def author(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        reply: threads_pb2.Reply | None = ...,
        event: events_pb2.Event | None = ...,
        author: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["author", b"author", "event", b"event", "reply", b"reply"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["author", b"author", "event", b"event", "reply", b"reply"]) -> None: ...

Global___EventComment: typing_extensions.TypeAlias = EventComment

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

    DISCUSSION_FIELD_NUMBER: builtins.int
    AUTHOR_FIELD_NUMBER: builtins.int
    @property
    def discussion(self) -> discussions_pb2.Discussion: ...
    @property
    def author(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        discussion: discussions_pb2.Discussion | None = ...,
        author: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["author", b"author", "discussion", b"discussion"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["author", b"author", "discussion", b"discussion"]) -> None: ...

Global___DiscussionCreate: typing_extensions.TypeAlias = DiscussionCreate

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

    REPLY_FIELD_NUMBER: builtins.int
    DISCUSSION_FIELD_NUMBER: builtins.int
    AUTHOR_FIELD_NUMBER: builtins.int
    @property
    def reply(self) -> threads_pb2.Reply: ...
    @property
    def discussion(self) -> discussions_pb2.Discussion: ...
    @property
    def author(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        reply: threads_pb2.Reply | None = ...,
        discussion: discussions_pb2.Discussion | None = ...,
        author: api_pb2.User | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["author", b"author", "discussion", b"discussion", "reply", b"reply"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["author", b"author", "discussion", b"discussion", "reply", b"reply"]) -> None: ...

Global___DiscussionComment: typing_extensions.TypeAlias = DiscussionComment

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

    REPLY_FIELD_NUMBER: builtins.int
    AUTHOR_FIELD_NUMBER: builtins.int
    EVENT_FIELD_NUMBER: builtins.int
    DISCUSSION_FIELD_NUMBER: builtins.int
    @property
    def reply(self) -> threads_pb2.Reply: ...
    @property
    def author(self) -> api_pb2.User: ...
    @property
    def event(self) -> events_pb2.Event: ...
    @property
    def discussion(self) -> discussions_pb2.Discussion: ...
    def __init__(
        self,
        *,
        reply: threads_pb2.Reply | None = ...,
        author: api_pb2.User | None = ...,
        event: events_pb2.Event | None = ...,
        discussion: discussions_pb2.Discussion | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["author", b"author", "discussion", b"discussion", "event", b"event", "reply", b"reply", "reply_parent", b"reply_parent"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["author", b"author", "discussion", b"discussion", "event", b"event", "reply", b"reply", "reply_parent", b"reply_parent"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["reply_parent", b"reply_parent"]) -> typing.Literal["event", "discussion"] | None: ...

Global___ThreadReply: typing_extensions.TypeAlias = ThreadReply

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

    REMINDER_NUMBER_FIELD_NUMBER: builtins.int
    DEADLINE_FIELD_NUMBER: builtins.int
    reminder_number: builtins.int
    """1, 2, 3, etc"""
    @property
    def deadline(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        reminder_number: builtins.int | None = ...,
        deadline: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["deadline", b"deadline"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["deadline", b"deadline", "reminder_number", b"reminder_number"]) -> None: ...

Global___ActivenessProbe: typing_extensions.TypeAlias = ActivenessProbe

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

    URL_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    BLURB_FIELD_NUMBER: builtins.int
    url: builtins.str
    title: builtins.str
    blurb: builtins.str
    def __init__(
        self,
        *,
        url: builtins.str | None = ...,
        title: builtins.str | None = ...,
        blurb: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["blurb", b"blurb", "title", b"title", "url", b"url"]) -> None: ...

Global___GeneralNewBlogPost: typing_extensions.TypeAlias = GeneralNewBlogPost
