"""
@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 google.protobuf.timestamp_pb2
import google.protobuf.wrappers_pb2
import requests_pb2
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 _HostingStatus:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _HostingStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_HostingStatus.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    HOSTING_STATUS_UNSPECIFIED: _HostingStatus.ValueType  # 0
    HOSTING_STATUS_UNKNOWN: _HostingStatus.ValueType  # 1
    HOSTING_STATUS_CAN_HOST: _HostingStatus.ValueType  # 2
    HOSTING_STATUS_MAYBE: _HostingStatus.ValueType  # 3
    HOSTING_STATUS_CANT_HOST: _HostingStatus.ValueType  # 4

class HostingStatus(_HostingStatus, metaclass=_HostingStatusEnumTypeWrapper): ...

HOSTING_STATUS_UNSPECIFIED: HostingStatus.ValueType  # 0
HOSTING_STATUS_UNKNOWN: HostingStatus.ValueType  # 1
HOSTING_STATUS_CAN_HOST: HostingStatus.ValueType  # 2
HOSTING_STATUS_MAYBE: HostingStatus.ValueType  # 3
HOSTING_STATUS_CANT_HOST: HostingStatus.ValueType  # 4
Global___HostingStatus: typing_extensions.TypeAlias = HostingStatus

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

class _MeetupStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MeetupStatus.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    MEETUP_STATUS_UNSPECIFIED: _MeetupStatus.ValueType  # 0
    MEETUP_STATUS_UNKNOWN: _MeetupStatus.ValueType  # 1
    MEETUP_STATUS_WANTS_TO_MEETUP: _MeetupStatus.ValueType  # 2
    MEETUP_STATUS_OPEN_TO_MEETUP: _MeetupStatus.ValueType  # 3
    MEETUP_STATUS_DOES_NOT_WANT_TO_MEETUP: _MeetupStatus.ValueType  # 4

class MeetupStatus(_MeetupStatus, metaclass=_MeetupStatusEnumTypeWrapper): ...

MEETUP_STATUS_UNSPECIFIED: MeetupStatus.ValueType  # 0
MEETUP_STATUS_UNKNOWN: MeetupStatus.ValueType  # 1
MEETUP_STATUS_WANTS_TO_MEETUP: MeetupStatus.ValueType  # 2
MEETUP_STATUS_OPEN_TO_MEETUP: MeetupStatus.ValueType  # 3
MEETUP_STATUS_DOES_NOT_WANT_TO_MEETUP: MeetupStatus.ValueType  # 4
Global___MeetupStatus: typing_extensions.TypeAlias = MeetupStatus

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

class _SmokingLocationEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SmokingLocation.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    SMOKING_LOCATION_UNSPECIFIED: _SmokingLocation.ValueType  # 0
    SMOKING_LOCATION_UNKNOWN: _SmokingLocation.ValueType  # 1
    SMOKING_LOCATION_YES: _SmokingLocation.ValueType  # 2
    SMOKING_LOCATION_WINDOW: _SmokingLocation.ValueType  # 3
    SMOKING_LOCATION_OUTSIDE: _SmokingLocation.ValueType  # 4
    SMOKING_LOCATION_NO: _SmokingLocation.ValueType  # 5

class SmokingLocation(_SmokingLocation, metaclass=_SmokingLocationEnumTypeWrapper): ...

SMOKING_LOCATION_UNSPECIFIED: SmokingLocation.ValueType  # 0
SMOKING_LOCATION_UNKNOWN: SmokingLocation.ValueType  # 1
SMOKING_LOCATION_YES: SmokingLocation.ValueType  # 2
SMOKING_LOCATION_WINDOW: SmokingLocation.ValueType  # 3
SMOKING_LOCATION_OUTSIDE: SmokingLocation.ValueType  # 4
SMOKING_LOCATION_NO: SmokingLocation.ValueType  # 5
Global___SmokingLocation: typing_extensions.TypeAlias = SmokingLocation

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

class _SleepingArrangementEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SleepingArrangement.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    SLEEPING_ARRANGEMENT_UNSPECIFIED: _SleepingArrangement.ValueType  # 0
    SLEEPING_ARRANGEMENT_UNKNOWN: _SleepingArrangement.ValueType  # 1
    SLEEPING_ARRANGEMENT_PRIVATE: _SleepingArrangement.ValueType  # 2
    SLEEPING_ARRANGEMENT_COMMON: _SleepingArrangement.ValueType  # 3
    SLEEPING_ARRANGEMENT_SHARED_ROOM: _SleepingArrangement.ValueType  # 4

class SleepingArrangement(_SleepingArrangement, metaclass=_SleepingArrangementEnumTypeWrapper): ...

SLEEPING_ARRANGEMENT_UNSPECIFIED: SleepingArrangement.ValueType  # 0
SLEEPING_ARRANGEMENT_UNKNOWN: SleepingArrangement.ValueType  # 1
SLEEPING_ARRANGEMENT_PRIVATE: SleepingArrangement.ValueType  # 2
SLEEPING_ARRANGEMENT_COMMON: SleepingArrangement.ValueType  # 3
SLEEPING_ARRANGEMENT_SHARED_ROOM: SleepingArrangement.ValueType  # 4
Global___SleepingArrangement: typing_extensions.TypeAlias = SleepingArrangement

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

class _ParkingDetailsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ParkingDetails.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    PARKING_DETAILS_UNSPECIFIED: _ParkingDetails.ValueType  # 0
    PARKING_DETAILS_UNKNOWN: _ParkingDetails.ValueType  # 1
    PARKING_DETAILS_FREE_ONSITE: _ParkingDetails.ValueType  # 2
    PARKING_DETAILS_FREE_OFFSITE: _ParkingDetails.ValueType  # 3
    PARKING_DETAILS_PAID_ONSITE: _ParkingDetails.ValueType  # 4
    PARKING_DETAILS_PAID_OFFSITE: _ParkingDetails.ValueType  # 5

class ParkingDetails(_ParkingDetails, metaclass=_ParkingDetailsEnumTypeWrapper): ...

PARKING_DETAILS_UNSPECIFIED: ParkingDetails.ValueType  # 0
PARKING_DETAILS_UNKNOWN: ParkingDetails.ValueType  # 1
PARKING_DETAILS_FREE_ONSITE: ParkingDetails.ValueType  # 2
PARKING_DETAILS_FREE_OFFSITE: ParkingDetails.ValueType  # 3
PARKING_DETAILS_PAID_ONSITE: ParkingDetails.ValueType  # 4
PARKING_DETAILS_PAID_OFFSITE: ParkingDetails.ValueType  # 5
Global___ParkingDetails: typing_extensions.TypeAlias = ParkingDetails

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

class _BirthdateVerificationStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BirthdateVerificationStatus.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    BIRTHDATE_VERIFICATION_STATUS_UNSPECIFIED: _BirthdateVerificationStatus.ValueType  # 0
    BIRTHDATE_VERIFICATION_STATUS_UNVERIFIED: _BirthdateVerificationStatus.ValueType  # 1
    BIRTHDATE_VERIFICATION_STATUS_VERIFIED: _BirthdateVerificationStatus.ValueType  # 2
    BIRTHDATE_VERIFICATION_STATUS_MISMATCH: _BirthdateVerificationStatus.ValueType  # 3

class BirthdateVerificationStatus(_BirthdateVerificationStatus, metaclass=_BirthdateVerificationStatusEnumTypeWrapper): ...

BIRTHDATE_VERIFICATION_STATUS_UNSPECIFIED: BirthdateVerificationStatus.ValueType  # 0
BIRTHDATE_VERIFICATION_STATUS_UNVERIFIED: BirthdateVerificationStatus.ValueType  # 1
BIRTHDATE_VERIFICATION_STATUS_VERIFIED: BirthdateVerificationStatus.ValueType  # 2
BIRTHDATE_VERIFICATION_STATUS_MISMATCH: BirthdateVerificationStatus.ValueType  # 3
Global___BirthdateVerificationStatus: typing_extensions.TypeAlias = BirthdateVerificationStatus

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

class _GenderVerificationStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_GenderVerificationStatus.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    GENDER_VERIFICATION_STATUS_UNSPECIFIED: _GenderVerificationStatus.ValueType  # 0
    GENDER_VERIFICATION_STATUS_UNVERIFIED: _GenderVerificationStatus.ValueType  # 1
    GENDER_VERIFICATION_STATUS_VERIFIED: _GenderVerificationStatus.ValueType  # 2
    GENDER_VERIFICATION_STATUS_MISMATCH: _GenderVerificationStatus.ValueType  # 3

class GenderVerificationStatus(_GenderVerificationStatus, metaclass=_GenderVerificationStatusEnumTypeWrapper): ...

GENDER_VERIFICATION_STATUS_UNSPECIFIED: GenderVerificationStatus.ValueType  # 0
GENDER_VERIFICATION_STATUS_UNVERIFIED: GenderVerificationStatus.ValueType  # 1
GENDER_VERIFICATION_STATUS_VERIFIED: GenderVerificationStatus.ValueType  # 2
GENDER_VERIFICATION_STATUS_MISMATCH: GenderVerificationStatus.ValueType  # 3
Global___GenderVerificationStatus: typing_extensions.TypeAlias = GenderVerificationStatus

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

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

Global___SendFriendRequestReq: typing_extensions.TypeAlias = SendFriendRequestReq

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

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

    class _FriendRequestStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[FriendRequest._FriendRequestStatus.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        PENDING: FriendRequest._FriendRequestStatus.ValueType  # 0
        """these are the only two states that a user will see"""
        ACCEPTED: FriendRequest._FriendRequestStatus.ValueType  # 1

    class FriendRequestStatus(_FriendRequestStatus, metaclass=_FriendRequestStatusEnumTypeWrapper): ...
    PENDING: FriendRequest.FriendRequestStatus.ValueType  # 0
    """these are the only two states that a user will see"""
    ACCEPTED: FriendRequest.FriendRequestStatus.ValueType  # 1

    FRIEND_REQUEST_ID_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    USER_ID_FIELD_NUMBER: builtins.int
    SENT_FIELD_NUMBER: builtins.int
    friend_request_id: builtins.int
    state: Global___FriendRequest.FriendRequestStatus.ValueType
    user_id: builtins.int
    sent: builtins.bool
    """we sent the request if true, received it if false"""
    def __init__(
        self,
        *,
        friend_request_id: builtins.int | None = ...,
        state: Global___FriendRequest.FriendRequestStatus.ValueType | None = ...,
        user_id: builtins.int | None = ...,
        sent: builtins.bool | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["friend_request_id", b"friend_request_id", "sent", b"sent", "state", b"state", "user_id", b"user_id"]) -> None: ...

Global___FriendRequest: typing_extensions.TypeAlias = FriendRequest

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

    FRIEND_REQUEST_ID_FIELD_NUMBER: builtins.int
    ACCEPT_FIELD_NUMBER: builtins.int
    friend_request_id: builtins.int
    accept: builtins.bool
    def __init__(
        self,
        *,
        friend_request_id: builtins.int | None = ...,
        accept: builtins.bool | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["accept", b"accept", "friend_request_id", b"friend_request_id"]) -> None: ...

Global___RespondFriendRequestReq: typing_extensions.TypeAlias = RespondFriendRequestReq

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

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

Global___CancelFriendRequestReq: typing_extensions.TypeAlias = CancelFriendRequestReq

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

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

Global___ListFriendRequestsRes: typing_extensions.TypeAlias = ListFriendRequestsRes

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

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

Global___ListFriendsRes: typing_extensions.TypeAlias = ListFriendsRes

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

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

Global___RemoveFriendReq: typing_extensions.TypeAlias = RemoveFriendReq

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

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

Global___ListMutualFriendsReq: typing_extensions.TypeAlias = ListMutualFriendsReq

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

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

Global___ListMutualFriendsRes: typing_extensions.TypeAlias = ListMutualFriendsRes

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

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

Global___PingReq: typing_extensions.TypeAlias = PingReq

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

    USER_FIELD_NUMBER: builtins.int
    UNSEEN_MESSAGE_COUNT_FIELD_NUMBER: builtins.int
    UNSEEN_SENT_HOST_REQUEST_COUNT_FIELD_NUMBER: builtins.int
    UNSEEN_RECEIVED_HOST_REQUEST_COUNT_FIELD_NUMBER: builtins.int
    PENDING_FRIEND_REQUEST_COUNT_FIELD_NUMBER: builtins.int
    UNSEEN_NOTIFICATION_COUNT_FIELD_NUMBER: builtins.int
    unseen_message_count: builtins.int
    unseen_sent_host_request_count: builtins.int
    unseen_received_host_request_count: builtins.int
    pending_friend_request_count: builtins.int
    unseen_notification_count: builtins.int
    @property
    def user(self) -> Global___User: ...
    def __init__(
        self,
        *,
        user: Global___User | None = ...,
        unseen_message_count: builtins.int | None = ...,
        unseen_sent_host_request_count: builtins.int | None = ...,
        unseen_received_host_request_count: builtins.int | None = ...,
        pending_friend_request_count: builtins.int | None = ...,
        unseen_notification_count: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["pending_friend_request_count", b"pending_friend_request_count", "unseen_message_count", b"unseen_message_count", "unseen_notification_count", b"unseen_notification_count", "unseen_received_host_request_count", b"unseen_received_host_request_count", "unseen_sent_host_request_count", b"unseen_sent_host_request_count", "user", b"user"]) -> None: ...

Global___PingRes: typing_extensions.TypeAlias = PingRes

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

    USER_ID_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    user_id: builtins.int
    username: builtins.str
    name: builtins.str
    def __init__(
        self,
        *,
        user_id: builtins.int | None = ...,
        username: builtins.str | None = ...,
        name: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["name", b"name", "user_id", b"user_id", "username", b"username"]) -> None: ...

Global___MutualFriend: typing_extensions.TypeAlias = MutualFriend

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

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

    class _FluencyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[LanguageAbility._Fluency.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        FLUENCY_UNKNOWN: LanguageAbility._Fluency.ValueType  # 0
        FLUENCY_BEGINNER: LanguageAbility._Fluency.ValueType  # 1
        FLUENCY_CONVERSATIONAL: LanguageAbility._Fluency.ValueType  # 2
        FLUENCY_FLUENT: LanguageAbility._Fluency.ValueType  # 3

    class Fluency(_Fluency, metaclass=_FluencyEnumTypeWrapper): ...
    FLUENCY_UNKNOWN: LanguageAbility.Fluency.ValueType  # 0
    FLUENCY_BEGINNER: LanguageAbility.Fluency.ValueType  # 1
    FLUENCY_CONVERSATIONAL: LanguageAbility.Fluency.ValueType  # 2
    FLUENCY_FLUENT: LanguageAbility.Fluency.ValueType  # 3

    CODE_FIELD_NUMBER: builtins.int
    FLUENCY_FIELD_NUMBER: builtins.int
    code: builtins.str
    """ISO639-3 language code, only a subset is accepted, see the languages.json in the source tree
    frontends are responsible for translation between language name and code
    backend will double check the code is allowed
    """
    fluency: Global___LanguageAbility.Fluency.ValueType
    def __init__(
        self,
        *,
        code: builtins.str | None = ...,
        fluency: Global___LanguageAbility.Fluency.ValueType | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["code", b"code", "fluency", b"fluency"]) -> None: ...

Global___LanguageAbility: typing_extensions.TypeAlias = LanguageAbility

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

    IS_NULL_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    is_null: builtins.bool
    value: builtins.int
    def __init__(
        self,
        *,
        is_null: builtins.bool | None = ...,
        value: builtins.int | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["is_null", b"is_null", "value", b"value"]) -> None: ...

Global___NullableUInt32Value: typing_extensions.TypeAlias = NullableUInt32Value

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

    IS_NULL_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    is_null: builtins.bool
    value: builtins.bool
    def __init__(
        self,
        *,
        is_null: builtins.bool | None = ...,
        value: builtins.bool | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["is_null", b"is_null", "value", b"value"]) -> None: ...

Global___NullableBoolValue: typing_extensions.TypeAlias = NullableBoolValue

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

    IS_NULL_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    is_null: builtins.bool
    value: builtins.str
    def __init__(
        self,
        *,
        is_null: builtins.bool | None = ...,
        value: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["is_null", b"is_null", "value", b"value"]) -> None: ...

Global___NullableStringValue: typing_extensions.TypeAlias = NullableStringValue

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

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

    class _FriendshipStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[User._FriendshipStatus.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NOT_FRIENDS: User._FriendshipStatus.ValueType  # 0
        FRIENDS: User._FriendshipStatus.ValueType  # 1
        PENDING: User._FriendshipStatus.ValueType  # 2
        NA: User._FriendshipStatus.ValueType  # 3
        """not applicable, e.g. user requesting is self"""

    class FriendshipStatus(_FriendshipStatus, metaclass=_FriendshipStatusEnumTypeWrapper): ...
    NOT_FRIENDS: User.FriendshipStatus.ValueType  # 0
    FRIENDS: User.FriendshipStatus.ValueType  # 1
    PENDING: User.FriendshipStatus.ValueType  # 2
    NA: User.FriendshipStatus.ValueType  # 3
    """not applicable, e.g. user requesting is self"""

    USER_ID_FIELD_NUMBER: builtins.int
    IS_GHOST_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    CITY_FIELD_NUMBER: builtins.int
    HOMETOWN_FIELD_NUMBER: builtins.int
    TIMEZONE_FIELD_NUMBER: builtins.int
    LAT_FIELD_NUMBER: builtins.int
    LNG_FIELD_NUMBER: builtins.int
    RADIUS_FIELD_NUMBER: builtins.int
    VERIFICATION_FIELD_NUMBER: builtins.int
    COMMUNITY_STANDING_FIELD_NUMBER: builtins.int
    NUM_REFERENCES_FIELD_NUMBER: builtins.int
    GENDER_FIELD_NUMBER: builtins.int
    PRONOUNS_FIELD_NUMBER: builtins.int
    AGE_FIELD_NUMBER: builtins.int
    JOINED_FIELD_NUMBER: builtins.int
    LAST_ACTIVE_FIELD_NUMBER: builtins.int
    HOSTING_STATUS_FIELD_NUMBER: builtins.int
    MEETUP_STATUS_FIELD_NUMBER: builtins.int
    OCCUPATION_FIELD_NUMBER: builtins.int
    EDUCATION_FIELD_NUMBER: builtins.int
    ABOUT_ME_FIELD_NUMBER: builtins.int
    THINGS_I_LIKE_FIELD_NUMBER: builtins.int
    ABOUT_PLACE_FIELD_NUMBER: builtins.int
    REGIONS_VISITED_FIELD_NUMBER: builtins.int
    REGIONS_LIVED_FIELD_NUMBER: builtins.int
    ADDITIONAL_INFORMATION_FIELD_NUMBER: builtins.int
    FRIENDS_FIELD_NUMBER: builtins.int
    PENDING_FRIEND_REQUEST_FIELD_NUMBER: builtins.int
    MAX_GUESTS_FIELD_NUMBER: builtins.int
    LAST_MINUTE_FIELD_NUMBER: builtins.int
    HAS_PETS_FIELD_NUMBER: builtins.int
    ACCEPTS_PETS_FIELD_NUMBER: builtins.int
    PET_DETAILS_FIELD_NUMBER: builtins.int
    HAS_KIDS_FIELD_NUMBER: builtins.int
    ACCEPTS_KIDS_FIELD_NUMBER: builtins.int
    KID_DETAILS_FIELD_NUMBER: builtins.int
    HAS_HOUSEMATES_FIELD_NUMBER: builtins.int
    HOUSEMATE_DETAILS_FIELD_NUMBER: builtins.int
    WHEELCHAIR_ACCESSIBLE_FIELD_NUMBER: builtins.int
    SMOKING_ALLOWED_FIELD_NUMBER: builtins.int
    SMOKES_AT_HOME_FIELD_NUMBER: builtins.int
    DRINKING_ALLOWED_FIELD_NUMBER: builtins.int
    DRINKS_AT_HOME_FIELD_NUMBER: builtins.int
    OTHER_HOST_INFO_FIELD_NUMBER: builtins.int
    SLEEPING_ARRANGEMENT_FIELD_NUMBER: builtins.int
    SLEEPING_DETAILS_FIELD_NUMBER: builtins.int
    AREA_FIELD_NUMBER: builtins.int
    HOUSE_RULES_FIELD_NUMBER: builtins.int
    PARKING_FIELD_NUMBER: builtins.int
    PARKING_DETAILS_FIELD_NUMBER: builtins.int
    CAMPING_OK_FIELD_NUMBER: builtins.int
    AVATAR_URL_FIELD_NUMBER: builtins.int
    AVATAR_THUMBNAIL_URL_FIELD_NUMBER: builtins.int
    LANGUAGE_ABILITIES_FIELD_NUMBER: builtins.int
    BADGES_FIELD_NUMBER: builtins.int
    HAS_STRONG_VERIFICATION_FIELD_NUMBER: builtins.int
    BIRTHDATE_VERIFICATION_STATUS_FIELD_NUMBER: builtins.int
    GENDER_VERIFICATION_STATUS_FIELD_NUMBER: builtins.int
    INSUFFICIENT_DATA_FIELD_NUMBER: builtins.int
    LOW_FIELD_NUMBER: builtins.int
    SOME_FIELD_NUMBER: builtins.int
    MOST_FIELD_NUMBER: builtins.int
    ALMOST_ALL_FIELD_NUMBER: builtins.int
    user_id: builtins.int
    is_ghost: builtins.bool
    username: builtins.str
    name: builtins.str
    city: builtins.str
    hometown: builtins.str
    timezone: builtins.str
    """the user's time zonename derived from their coordinates, for example "Australia/Melbourne" """
    lat: builtins.float
    """doubles are enough to describe lat/lng
    in EPSG4326, lat & lon are in degress, check the EPS4326 definition for details
    returned as 0.0 (default) if these are not set, note this should only happen with incomplete profiles!
    """
    lng: builtins.float
    radius: builtins.float
    """meters"""
    verification: builtins.float
    """1.0 if phone number verified, 0.0 otherwise"""
    community_standing: builtins.float
    num_references: builtins.int
    gender: builtins.str
    pronouns: builtins.str
    age: builtins.int
    hosting_status: Global___HostingStatus.ValueType
    meetup_status: Global___MeetupStatus.ValueType
    occupation: builtins.str
    education: builtins.str
    """CommonMark without images"""
    about_me: builtins.str
    """CommonMark without images"""
    things_i_like: builtins.str
    """string my_travels = 104; // CommonMark without images
    CommonMark without images
    """
    about_place: builtins.str
    """CommonMark without images"""
    additional_information: builtins.str
    """CommonMark without images"""
    friends: Global___User.FriendshipStatus.ValueType
    smoking_allowed: Global___SmokingLocation.ValueType
    sleeping_arrangement: Global___SleepingArrangement.ValueType
    parking_details: Global___ParkingDetails.ValueType
    """CommonMark without images"""
    avatar_url: builtins.str
    avatar_thumbnail_url: builtins.str
    has_strong_verification: builtins.bool
    birthdate_verification_status: Global___BirthdateVerificationStatus.ValueType
    gender_verification_status: Global___GenderVerificationStatus.ValueType
    @property
    def joined(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """not exact"""

    @property
    def last_active(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """not exact"""

    @property
    def regions_visited(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def regions_lived(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def pending_friend_request(self) -> Global___FriendRequest:
        """only present if friends == FriendshipStatus.PENDING"""

    @property
    def max_guests(self) -> google.protobuf.wrappers_pb2.UInt32Value: ...
    @property
    def last_minute(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def has_pets(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def accepts_pets(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def pet_details(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def has_kids(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def accepts_kids(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def kid_details(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def has_housemates(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def housemate_details(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def wheelchair_accessible(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def smokes_at_home(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def drinking_allowed(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def drinks_at_home(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def other_host_info(self) -> google.protobuf.wrappers_pb2.StringValue:
        """CommonMark without images"""

    @property
    def sleeping_details(self) -> google.protobuf.wrappers_pb2.StringValue:
        """CommonMark without images"""

    @property
    def area(self) -> google.protobuf.wrappers_pb2.StringValue:
        """CommonMark without images"""

    @property
    def house_rules(self) -> google.protobuf.wrappers_pb2.StringValue:
        """CommonMark without images"""

    @property
    def parking(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def camping_ok(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def language_abilities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___LanguageAbility]: ...
    @property
    def badges(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def insufficient_data(self) -> requests_pb2.ResponseRateInsufficientData:
        """received <3 requests"""

    @property
    def low(self) -> requests_pb2.ResponseRateLow:
        """response rate <= 33%"""

    @property
    def some(self) -> requests_pb2.ResponseRateSome:
        """response rate > 33%, but <= 66%"""

    @property
    def most(self) -> requests_pb2.ResponseRateMost:
        """response rate > 66%, but <= 90%"""

    @property
    def almost_all(self) -> requests_pb2.ResponseRateAlmostAll:
        """response rate > 90%"""

    def __init__(
        self,
        *,
        user_id: builtins.int | None = ...,
        is_ghost: builtins.bool | None = ...,
        username: builtins.str | None = ...,
        name: builtins.str | None = ...,
        city: builtins.str | None = ...,
        hometown: builtins.str | None = ...,
        timezone: builtins.str | None = ...,
        lat: builtins.float | None = ...,
        lng: builtins.float | None = ...,
        radius: builtins.float | None = ...,
        verification: builtins.float | None = ...,
        community_standing: builtins.float | None = ...,
        num_references: builtins.int | None = ...,
        gender: builtins.str | None = ...,
        pronouns: builtins.str | None = ...,
        age: builtins.int | None = ...,
        joined: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_active: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        hosting_status: Global___HostingStatus.ValueType | None = ...,
        meetup_status: Global___MeetupStatus.ValueType | None = ...,
        occupation: builtins.str | None = ...,
        education: builtins.str | None = ...,
        about_me: builtins.str | None = ...,
        things_i_like: builtins.str | None = ...,
        about_place: builtins.str | None = ...,
        regions_visited: collections.abc.Iterable[builtins.str] | None = ...,
        regions_lived: collections.abc.Iterable[builtins.str] | None = ...,
        additional_information: builtins.str | None = ...,
        friends: Global___User.FriendshipStatus.ValueType | None = ...,
        pending_friend_request: Global___FriendRequest | None = ...,
        max_guests: google.protobuf.wrappers_pb2.UInt32Value | None = ...,
        last_minute: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        has_pets: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        accepts_pets: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        pet_details: google.protobuf.wrappers_pb2.StringValue | None = ...,
        has_kids: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        accepts_kids: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        kid_details: google.protobuf.wrappers_pb2.StringValue | None = ...,
        has_housemates: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        housemate_details: google.protobuf.wrappers_pb2.StringValue | None = ...,
        wheelchair_accessible: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        smoking_allowed: Global___SmokingLocation.ValueType | None = ...,
        smokes_at_home: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        drinking_allowed: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        drinks_at_home: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        other_host_info: google.protobuf.wrappers_pb2.StringValue | None = ...,
        sleeping_arrangement: Global___SleepingArrangement.ValueType | None = ...,
        sleeping_details: google.protobuf.wrappers_pb2.StringValue | None = ...,
        area: google.protobuf.wrappers_pb2.StringValue | None = ...,
        house_rules: google.protobuf.wrappers_pb2.StringValue | None = ...,
        parking: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        parking_details: Global___ParkingDetails.ValueType | None = ...,
        camping_ok: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        avatar_url: builtins.str | None = ...,
        avatar_thumbnail_url: builtins.str | None = ...,
        language_abilities: collections.abc.Iterable[Global___LanguageAbility] | None = ...,
        badges: collections.abc.Iterable[builtins.str] | None = ...,
        has_strong_verification: builtins.bool | None = ...,
        birthdate_verification_status: Global___BirthdateVerificationStatus.ValueType | None = ...,
        gender_verification_status: Global___GenderVerificationStatus.ValueType | None = ...,
        insufficient_data: requests_pb2.ResponseRateInsufficientData | None = ...,
        low: requests_pb2.ResponseRateLow | None = ...,
        some: requests_pb2.ResponseRateSome | None = ...,
        most: requests_pb2.ResponseRateMost | None = ...,
        almost_all: requests_pb2.ResponseRateAlmostAll | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["accepts_kids", b"accepts_kids", "accepts_pets", b"accepts_pets", "almost_all", b"almost_all", "area", b"area", "camping_ok", b"camping_ok", "drinking_allowed", b"drinking_allowed", "drinks_at_home", b"drinks_at_home", "has_housemates", b"has_housemates", "has_kids", b"has_kids", "has_pets", b"has_pets", "house_rules", b"house_rules", "housemate_details", b"housemate_details", "insufficient_data", b"insufficient_data", "joined", b"joined", "kid_details", b"kid_details", "last_active", b"last_active", "last_minute", b"last_minute", "low", b"low", "max_guests", b"max_guests", "most", b"most", "other_host_info", b"other_host_info", "parking", b"parking", "pending_friend_request", b"pending_friend_request", "pet_details", b"pet_details", "response_rate", b"response_rate", "sleeping_details", b"sleeping_details", "smokes_at_home", b"smokes_at_home", "some", b"some", "wheelchair_accessible", b"wheelchair_accessible"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["about_me", b"about_me", "about_place", b"about_place", "accepts_kids", b"accepts_kids", "accepts_pets", b"accepts_pets", "additional_information", b"additional_information", "age", b"age", "almost_all", b"almost_all", "area", b"area", "avatar_thumbnail_url", b"avatar_thumbnail_url", "avatar_url", b"avatar_url", "badges", b"badges", "birthdate_verification_status", b"birthdate_verification_status", "camping_ok", b"camping_ok", "city", b"city", "community_standing", b"community_standing", "drinking_allowed", b"drinking_allowed", "drinks_at_home", b"drinks_at_home", "education", b"education", "friends", b"friends", "gender", b"gender", "gender_verification_status", b"gender_verification_status", "has_housemates", b"has_housemates", "has_kids", b"has_kids", "has_pets", b"has_pets", "has_strong_verification", b"has_strong_verification", "hometown", b"hometown", "hosting_status", b"hosting_status", "house_rules", b"house_rules", "housemate_details", b"housemate_details", "insufficient_data", b"insufficient_data", "is_ghost", b"is_ghost", "joined", b"joined", "kid_details", b"kid_details", "language_abilities", b"language_abilities", "last_active", b"last_active", "last_minute", b"last_minute", "lat", b"lat", "lng", b"lng", "low", b"low", "max_guests", b"max_guests", "meetup_status", b"meetup_status", "most", b"most", "name", b"name", "num_references", b"num_references", "occupation", b"occupation", "other_host_info", b"other_host_info", "parking", b"parking", "parking_details", b"parking_details", "pending_friend_request", b"pending_friend_request", "pet_details", b"pet_details", "pronouns", b"pronouns", "radius", b"radius", "regions_lived", b"regions_lived", "regions_visited", b"regions_visited", "response_rate", b"response_rate", "sleeping_arrangement", b"sleeping_arrangement", "sleeping_details", b"sleeping_details", "smokes_at_home", b"smokes_at_home", "smoking_allowed", b"smoking_allowed", "some", b"some", "things_i_like", b"things_i_like", "timezone", b"timezone", "user_id", b"user_id", "username", b"username", "verification", b"verification", "wheelchair_accessible", b"wheelchair_accessible"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["response_rate", b"response_rate"]) -> typing.Literal["insufficient_data", "low", "some", "most", "almost_all"] | None: ...

Global___User: typing_extensions.TypeAlias = User

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

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

Global___GetUserReq: typing_extensions.TypeAlias = GetUserReq

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

    USER_ID_FIELD_NUMBER: builtins.int
    IS_GHOST_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    CITY_FIELD_NUMBER: builtins.int
    AGE_FIELD_NUMBER: builtins.int
    AVATAR_URL_FIELD_NUMBER: builtins.int
    AVATAR_THUMBNAIL_URL_FIELD_NUMBER: builtins.int
    LAT_FIELD_NUMBER: builtins.int
    LNG_FIELD_NUMBER: builtins.int
    RADIUS_FIELD_NUMBER: builtins.int
    HAS_STRONG_VERIFICATION_FIELD_NUMBER: builtins.int
    user_id: builtins.int
    is_ghost: builtins.bool
    username: builtins.str
    name: builtins.str
    city: builtins.str
    age: builtins.int
    avatar_url: builtins.str
    """the user's time zonename derived from their coordinates, for example "Australia/Melbourne" """
    avatar_thumbnail_url: builtins.str
    lat: builtins.float
    """doubles are enough to describe lat/lng
    in EPSG4326, lat & lon are in degress, check the EPS4326 definition for details
    returned as 0.0 (default) if these are not set, note this should only happen with incomplete profiles!
    """
    lng: builtins.float
    radius: builtins.float
    """meters"""
    has_strong_verification: builtins.bool
    def __init__(
        self,
        *,
        user_id: builtins.int | None = ...,
        is_ghost: builtins.bool | None = ...,
        username: builtins.str | None = ...,
        name: builtins.str | None = ...,
        city: builtins.str | None = ...,
        age: builtins.int | None = ...,
        avatar_url: builtins.str | None = ...,
        avatar_thumbnail_url: builtins.str | None = ...,
        lat: builtins.float | None = ...,
        lng: builtins.float | None = ...,
        radius: builtins.float | None = ...,
        has_strong_verification: builtins.bool | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["age", b"age", "avatar_thumbnail_url", b"avatar_thumbnail_url", "avatar_url", b"avatar_url", "city", b"city", "has_strong_verification", b"has_strong_verification", "is_ghost", b"is_ghost", "lat", b"lat", "lng", b"lng", "name", b"name", "radius", b"radius", "user_id", b"user_id", "username", b"username"]) -> None: ...

Global___LiteUser: typing_extensions.TypeAlias = LiteUser

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

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

Global___GetLiteUserReq: typing_extensions.TypeAlias = GetLiteUserReq

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

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

Global___GetLiteUsersReq: typing_extensions.TypeAlias = GetLiteUsersReq

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

    QUERY_FIELD_NUMBER: builtins.int
    USER_FIELD_NUMBER: builtins.int
    NOT_FOUND_FIELD_NUMBER: builtins.int
    query: builtins.str
    """the original query"""
    not_found: builtins.bool
    @property
    def user(self) -> Global___LiteUser: ...
    def __init__(
        self,
        *,
        query: builtins.str | None = ...,
        user: Global___LiteUser | None = ...,
        not_found: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["not_found", b"not_found", "resp", b"resp", "user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["not_found", b"not_found", "query", b"query", "resp", b"resp", "user", b"user"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["resp", b"resp"]) -> typing.Literal["user", "not_found"] | None: ...

Global___LiteUserRes: typing_extensions.TypeAlias = LiteUserRes

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

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

Global___GetLiteUsersRes: typing_extensions.TypeAlias = GetLiteUsersRes

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

    VALUE_FIELD_NUMBER: builtins.int
    @property
    def value(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """A RepeatedStringValue is like a "protobuf wrapper" (like {Type}Value) but for repeated strings
        allows us to determine if the user wanted to remove this list of strings or just didn't modify it
        """

    def __init__(
        self,
        *,
        value: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["value", b"value"]) -> None: ...

Global___RepeatedStringValue: typing_extensions.TypeAlias = RepeatedStringValue

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

    VALUE_FIELD_NUMBER: builtins.int
    @property
    def value(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___LanguageAbility]:
        """A RepeatedLanguageAbilityValue is like a "protobuf wrapper" (like {Type}Value) but for repeated LanguageAbility
        allows us to determine if the user wanted to remote this list of LanguageAbility's
        """

    def __init__(
        self,
        *,
        value: collections.abc.Iterable[Global___LanguageAbility] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["value", b"value"]) -> None: ...

Global___RepeatedLanguageAbilityValue: typing_extensions.TypeAlias = RepeatedLanguageAbilityValue

@typing.final
class UpdateProfileReq(google.protobuf.message.Message):
    """These StringValue types allow us to determine if the value is absent versus "" """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    CITY_FIELD_NUMBER: builtins.int
    HOMETOWN_FIELD_NUMBER: builtins.int
    LAT_FIELD_NUMBER: builtins.int
    LNG_FIELD_NUMBER: builtins.int
    RADIUS_FIELD_NUMBER: builtins.int
    AVATAR_KEY_FIELD_NUMBER: builtins.int
    PRONOUNS_FIELD_NUMBER: builtins.int
    OCCUPATION_FIELD_NUMBER: builtins.int
    EDUCATION_FIELD_NUMBER: builtins.int
    ABOUT_ME_FIELD_NUMBER: builtins.int
    THINGS_I_LIKE_FIELD_NUMBER: builtins.int
    ABOUT_PLACE_FIELD_NUMBER: builtins.int
    HOSTING_STATUS_FIELD_NUMBER: builtins.int
    MEETUP_STATUS_FIELD_NUMBER: builtins.int
    REGIONS_VISITED_FIELD_NUMBER: builtins.int
    REGIONS_LIVED_FIELD_NUMBER: builtins.int
    ADDITIONAL_INFORMATION_FIELD_NUMBER: builtins.int
    MAX_GUESTS_FIELD_NUMBER: builtins.int
    LAST_MINUTE_FIELD_NUMBER: builtins.int
    HAS_PETS_FIELD_NUMBER: builtins.int
    ACCEPTS_PETS_FIELD_NUMBER: builtins.int
    PET_DETAILS_FIELD_NUMBER: builtins.int
    HAS_KIDS_FIELD_NUMBER: builtins.int
    ACCEPTS_KIDS_FIELD_NUMBER: builtins.int
    KID_DETAILS_FIELD_NUMBER: builtins.int
    HAS_HOUSEMATES_FIELD_NUMBER: builtins.int
    HOUSEMATE_DETAILS_FIELD_NUMBER: builtins.int
    WHEELCHAIR_ACCESSIBLE_FIELD_NUMBER: builtins.int
    SMOKING_ALLOWED_FIELD_NUMBER: builtins.int
    SMOKES_AT_HOME_FIELD_NUMBER: builtins.int
    DRINKING_ALLOWED_FIELD_NUMBER: builtins.int
    DRINKS_AT_HOME_FIELD_NUMBER: builtins.int
    OTHER_HOST_INFO_FIELD_NUMBER: builtins.int
    SLEEPING_ARRANGEMENT_FIELD_NUMBER: builtins.int
    SLEEPING_DETAILS_FIELD_NUMBER: builtins.int
    AREA_FIELD_NUMBER: builtins.int
    HOUSE_RULES_FIELD_NUMBER: builtins.int
    PARKING_FIELD_NUMBER: builtins.int
    PARKING_DETAILS_FIELD_NUMBER: builtins.int
    CAMPING_OK_FIELD_NUMBER: builtins.int
    LANGUAGE_ABILITIES_FIELD_NUMBER: builtins.int
    hosting_status: Global___HostingStatus.ValueType
    meetup_status: Global___MeetupStatus.ValueType
    smoking_allowed: Global___SmokingLocation.ValueType
    sleeping_arrangement: Global___SleepingArrangement.ValueType
    parking_details: Global___ParkingDetails.ValueType
    """CommonMark without images"""
    @property
    def name(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def city(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def hometown(self) -> Global___NullableStringValue: ...
    @property
    def lat(self) -> google.protobuf.wrappers_pb2.DoubleValue:
        """doubles are enough to describe lat/lng
        in EPSG4326, lat & lon are in degress, check the EPS4326 definition for details
        """

    @property
    def lng(self) -> google.protobuf.wrappers_pb2.DoubleValue: ...
    @property
    def radius(self) -> google.protobuf.wrappers_pb2.DoubleValue:
        """metres"""

    @property
    def avatar_key(self) -> Global___NullableStringValue:
        """result from media server"""

    @property
    def pronouns(self) -> Global___NullableStringValue: ...
    @property
    def occupation(self) -> Global___NullableStringValue: ...
    @property
    def education(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def about_me(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def things_i_like(self) -> Global___NullableStringValue:
        """NullableStringValue my_travels = 103; // CommonMark without images
        CommonMark without images
        """

    @property
    def about_place(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def regions_visited(self) -> Global___RepeatedStringValue: ...
    @property
    def regions_lived(self) -> Global___RepeatedStringValue: ...
    @property
    def additional_information(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def max_guests(self) -> Global___NullableUInt32Value: ...
    @property
    def last_minute(self) -> Global___NullableBoolValue: ...
    @property
    def has_pets(self) -> Global___NullableBoolValue: ...
    @property
    def accepts_pets(self) -> Global___NullableBoolValue: ...
    @property
    def pet_details(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def has_kids(self) -> Global___NullableBoolValue: ...
    @property
    def accepts_kids(self) -> Global___NullableBoolValue: ...
    @property
    def kid_details(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def has_housemates(self) -> Global___NullableBoolValue: ...
    @property
    def housemate_details(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def wheelchair_accessible(self) -> Global___NullableBoolValue: ...
    @property
    def smokes_at_home(self) -> Global___NullableBoolValue: ...
    @property
    def drinking_allowed(self) -> Global___NullableBoolValue: ...
    @property
    def drinks_at_home(self) -> Global___NullableBoolValue: ...
    @property
    def other_host_info(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def sleeping_details(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def area(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def house_rules(self) -> Global___NullableStringValue:
        """CommonMark without images"""

    @property
    def parking(self) -> Global___NullableBoolValue: ...
    @property
    def camping_ok(self) -> Global___NullableBoolValue: ...
    @property
    def language_abilities(self) -> Global___RepeatedLanguageAbilityValue:
        """replaces the current language abilities with a new list
        only a subset of language codes can be used, see languages.json for that list
        """

    def __init__(
        self,
        *,
        name: google.protobuf.wrappers_pb2.StringValue | None = ...,
        city: google.protobuf.wrappers_pb2.StringValue | None = ...,
        hometown: Global___NullableStringValue | None = ...,
        lat: google.protobuf.wrappers_pb2.DoubleValue | None = ...,
        lng: google.protobuf.wrappers_pb2.DoubleValue | None = ...,
        radius: google.protobuf.wrappers_pb2.DoubleValue | None = ...,
        avatar_key: Global___NullableStringValue | None = ...,
        pronouns: Global___NullableStringValue | None = ...,
        occupation: Global___NullableStringValue | None = ...,
        education: Global___NullableStringValue | None = ...,
        about_me: Global___NullableStringValue | None = ...,
        things_i_like: Global___NullableStringValue | None = ...,
        about_place: Global___NullableStringValue | None = ...,
        hosting_status: Global___HostingStatus.ValueType | None = ...,
        meetup_status: Global___MeetupStatus.ValueType | None = ...,
        regions_visited: Global___RepeatedStringValue | None = ...,
        regions_lived: Global___RepeatedStringValue | None = ...,
        additional_information: Global___NullableStringValue | None = ...,
        max_guests: Global___NullableUInt32Value | None = ...,
        last_minute: Global___NullableBoolValue | None = ...,
        has_pets: Global___NullableBoolValue | None = ...,
        accepts_pets: Global___NullableBoolValue | None = ...,
        pet_details: Global___NullableStringValue | None = ...,
        has_kids: Global___NullableBoolValue | None = ...,
        accepts_kids: Global___NullableBoolValue | None = ...,
        kid_details: Global___NullableStringValue | None = ...,
        has_housemates: Global___NullableBoolValue | None = ...,
        housemate_details: Global___NullableStringValue | None = ...,
        wheelchair_accessible: Global___NullableBoolValue | None = ...,
        smoking_allowed: Global___SmokingLocation.ValueType | None = ...,
        smokes_at_home: Global___NullableBoolValue | None = ...,
        drinking_allowed: Global___NullableBoolValue | None = ...,
        drinks_at_home: Global___NullableBoolValue | None = ...,
        other_host_info: Global___NullableStringValue | None = ...,
        sleeping_arrangement: Global___SleepingArrangement.ValueType | None = ...,
        sleeping_details: Global___NullableStringValue | None = ...,
        area: Global___NullableStringValue | None = ...,
        house_rules: Global___NullableStringValue | None = ...,
        parking: Global___NullableBoolValue | None = ...,
        parking_details: Global___ParkingDetails.ValueType | None = ...,
        camping_ok: Global___NullableBoolValue | None = ...,
        language_abilities: Global___RepeatedLanguageAbilityValue | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["about_me", b"about_me", "about_place", b"about_place", "accepts_kids", b"accepts_kids", "accepts_pets", b"accepts_pets", "additional_information", b"additional_information", "area", b"area", "avatar_key", b"avatar_key", "camping_ok", b"camping_ok", "city", b"city", "drinking_allowed", b"drinking_allowed", "drinks_at_home", b"drinks_at_home", "education", b"education", "has_housemates", b"has_housemates", "has_kids", b"has_kids", "has_pets", b"has_pets", "hometown", b"hometown", "house_rules", b"house_rules", "housemate_details", b"housemate_details", "kid_details", b"kid_details", "language_abilities", b"language_abilities", "last_minute", b"last_minute", "lat", b"lat", "lng", b"lng", "max_guests", b"max_guests", "name", b"name", "occupation", b"occupation", "other_host_info", b"other_host_info", "parking", b"parking", "pet_details", b"pet_details", "pronouns", b"pronouns", "radius", b"radius", "regions_lived", b"regions_lived", "regions_visited", b"regions_visited", "sleeping_details", b"sleeping_details", "smokes_at_home", b"smokes_at_home", "things_i_like", b"things_i_like", "wheelchair_accessible", b"wheelchair_accessible"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["about_me", b"about_me", "about_place", b"about_place", "accepts_kids", b"accepts_kids", "accepts_pets", b"accepts_pets", "additional_information", b"additional_information", "area", b"area", "avatar_key", b"avatar_key", "camping_ok", b"camping_ok", "city", b"city", "drinking_allowed", b"drinking_allowed", "drinks_at_home", b"drinks_at_home", "education", b"education", "has_housemates", b"has_housemates", "has_kids", b"has_kids", "has_pets", b"has_pets", "hometown", b"hometown", "hosting_status", b"hosting_status", "house_rules", b"house_rules", "housemate_details", b"housemate_details", "kid_details", b"kid_details", "language_abilities", b"language_abilities", "last_minute", b"last_minute", "lat", b"lat", "lng", b"lng", "max_guests", b"max_guests", "meetup_status", b"meetup_status", "name", b"name", "occupation", b"occupation", "other_host_info", b"other_host_info", "parking", b"parking", "parking_details", b"parking_details", "pet_details", b"pet_details", "pronouns", b"pronouns", "radius", b"radius", "regions_lived", b"regions_lived", "regions_visited", b"regions_visited", "sleeping_arrangement", b"sleeping_arrangement", "sleeping_details", b"sleeping_details", "smokes_at_home", b"smokes_at_home", "smoking_allowed", b"smoking_allowed", "things_i_like", b"things_i_like", "wheelchair_accessible", b"wheelchair_accessible"]) -> None: ...

Global___UpdateProfileReq: typing_extensions.TypeAlias = UpdateProfileReq

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

    UPLOAD_URL_FIELD_NUMBER: builtins.int
    EXPIRY_FIELD_NUMBER: builtins.int
    upload_url: builtins.str
    """URL to POST the data to"""
    @property
    def expiry(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        upload_url: 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["expiry", b"expiry", "upload_url", b"upload_url"]) -> None: ...

Global___InitiateMediaUploadRes: typing_extensions.TypeAlias = InitiateMediaUploadRes

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

    BADGE_ID_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    badge_id: builtins.str
    page_size: builtins.int
    page_token: builtins.str
    def __init__(
        self,
        *,
        badge_id: builtins.str | None = ...,
        page_size: builtins.int | None = ...,
        page_token: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["badge_id", b"badge_id", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ...

Global___ListBadgeUsersReq: typing_extensions.TypeAlias = ListBadgeUsersReq

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

    USER_IDS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    @property
    def user_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        user_ids: collections.abc.Iterable[builtins.int] | None = ...,
        next_page_token: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "user_ids", b"user_ids"]) -> None: ...

Global___ListBadgeUsersRes: typing_extensions.TypeAlias = ListBadgeUsersRes
