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

import api_pb2
import auth_pb2
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 references_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 _StrongVerificationAttemptStatus:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _StrongVerificationAttemptStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_StrongVerificationAttemptStatus.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    STRONG_VERIFICATION_ATTEMPT_STATUS_UNKNOWN: _StrongVerificationAttemptStatus.ValueType  # 0
    STRONG_VERIFICATION_ATTEMPT_STATUS_SUCCEEDED: _StrongVerificationAttemptStatus.ValueType  # 1
    STRONG_VERIFICATION_ATTEMPT_STATUS_IN_PROGRESS_WAITING_ON_USER_TO_OPEN_APP: _StrongVerificationAttemptStatus.ValueType  # 2
    STRONG_VERIFICATION_ATTEMPT_STATUS_IN_PROGRESS_WAITING_ON_USER_IN_APP: _StrongVerificationAttemptStatus.ValueType  # 5
    STRONG_VERIFICATION_ATTEMPT_STATUS_IN_PROGRESS_WAITING_ON_BACKEND: _StrongVerificationAttemptStatus.ValueType  # 3
    STRONG_VERIFICATION_ATTEMPT_STATUS_FAILED: _StrongVerificationAttemptStatus.ValueType  # 4

class StrongVerificationAttemptStatus(_StrongVerificationAttemptStatus, metaclass=_StrongVerificationAttemptStatusEnumTypeWrapper): ...

STRONG_VERIFICATION_ATTEMPT_STATUS_UNKNOWN: StrongVerificationAttemptStatus.ValueType  # 0
STRONG_VERIFICATION_ATTEMPT_STATUS_SUCCEEDED: StrongVerificationAttemptStatus.ValueType  # 1
STRONG_VERIFICATION_ATTEMPT_STATUS_IN_PROGRESS_WAITING_ON_USER_TO_OPEN_APP: StrongVerificationAttemptStatus.ValueType  # 2
STRONG_VERIFICATION_ATTEMPT_STATUS_IN_PROGRESS_WAITING_ON_USER_IN_APP: StrongVerificationAttemptStatus.ValueType  # 5
STRONG_VERIFICATION_ATTEMPT_STATUS_IN_PROGRESS_WAITING_ON_BACKEND: StrongVerificationAttemptStatus.ValueType  # 3
STRONG_VERIFICATION_ATTEMPT_STATUS_FAILED: StrongVerificationAttemptStatus.ValueType  # 4
Global___StrongVerificationAttemptStatus: typing_extensions.TypeAlias = StrongVerificationAttemptStatus

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

class _ProfilePublicVisibilityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ProfilePublicVisibility.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    PROFILE_PUBLIC_VISIBILITY_UNKNOWN: _ProfilePublicVisibility.ValueType  # 0
    PROFILE_PUBLIC_VISIBILITY_NOTHING: _ProfilePublicVisibility.ValueType  # 1
    PROFILE_PUBLIC_VISIBILITY_MAP_ONLY: _ProfilePublicVisibility.ValueType  # 2
    PROFILE_PUBLIC_VISIBILITY_LIMITED: _ProfilePublicVisibility.ValueType  # 3
    PROFILE_PUBLIC_VISIBILITY_MOST: _ProfilePublicVisibility.ValueType  # 4
    PROFILE_PUBLIC_VISIBILITY_FULL: _ProfilePublicVisibility.ValueType  # 5

class ProfilePublicVisibility(_ProfilePublicVisibility, metaclass=_ProfilePublicVisibilityEnumTypeWrapper): ...

PROFILE_PUBLIC_VISIBILITY_UNKNOWN: ProfilePublicVisibility.ValueType  # 0
PROFILE_PUBLIC_VISIBILITY_NOTHING: ProfilePublicVisibility.ValueType  # 1
PROFILE_PUBLIC_VISIBILITY_MAP_ONLY: ProfilePublicVisibility.ValueType  # 2
PROFILE_PUBLIC_VISIBILITY_LIMITED: ProfilePublicVisibility.ValueType  # 3
PROFILE_PUBLIC_VISIBILITY_MOST: ProfilePublicVisibility.ValueType  # 4
PROFILE_PUBLIC_VISIBILITY_FULL: ProfilePublicVisibility.ValueType  # 5
Global___ProfilePublicVisibility: typing_extensions.TypeAlias = ProfilePublicVisibility

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

    USERNAME_FIELD_NUMBER: builtins.int
    EMAIL_FIELD_NUMBER: builtins.int
    PROFILE_COMPLETE_FIELD_NUMBER: builtins.int
    MY_HOME_COMPLETE_FIELD_NUMBER: builtins.int
    PHONE_FIELD_NUMBER: builtins.int
    PHONE_VERIFIED_FIELD_NUMBER: builtins.int
    TIMEZONE_FIELD_NUMBER: builtins.int
    HAS_DONATED_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
    DO_NOT_EMAIL_FIELD_NUMBER: builtins.int
    IS_SUPERUSER_FIELD_NUMBER: builtins.int
    UI_LANGUAGE_PREFERENCE_FIELD_NUMBER: builtins.int
    PROFILE_PUBLIC_VISIBILITY_FIELD_NUMBER: builtins.int
    IS_VOLUNTEER_FIELD_NUMBER: builtins.int
    SHOULD_SHOW_DONATION_BANNER_FIELD_NUMBER: builtins.int
    username: builtins.str
    email: builtins.str
    """user's current email address"""
    profile_complete: builtins.bool
    """whether the user has completed their profile; otherwise needs to display a banner on dashboard"""
    my_home_complete: builtins.bool
    """whether the user has completed their my home section"""
    phone: builtins.str
    """User's alleged phone number in E.164 format (including country code with the + sign)"""
    phone_verified: builtins.bool
    """Whether the above phone number has been successfully verified or not"""
    timezone: builtins.str
    """the user's timezone name identifier, derived from their coordinates, for example "Australia/Melbourne" """
    has_donated: builtins.bool
    has_strong_verification: builtins.bool
    """strong verification info"""
    birthdate_verification_status: api_pb2.BirthdateVerificationStatus.ValueType
    gender_verification_status: api_pb2.GenderVerificationStatus.ValueType
    do_not_email: builtins.bool
    """whether the user has all non-security emails off"""
    is_superuser: builtins.bool
    """whether the user is a superuser"""
    ui_language_preference: builtins.str
    profile_public_visibility: Global___ProfilePublicVisibility.ValueType
    is_volunteer: builtins.bool
    should_show_donation_banner: builtins.bool
    def __init__(
        self,
        *,
        username: builtins.str | None = ...,
        email: builtins.str | None = ...,
        profile_complete: builtins.bool | None = ...,
        my_home_complete: builtins.bool | None = ...,
        phone: builtins.str | None = ...,
        phone_verified: builtins.bool | None = ...,
        timezone: builtins.str | None = ...,
        has_donated: builtins.bool | None = ...,
        has_strong_verification: builtins.bool | None = ...,
        birthdate_verification_status: api_pb2.BirthdateVerificationStatus.ValueType | None = ...,
        gender_verification_status: api_pb2.GenderVerificationStatus.ValueType | None = ...,
        do_not_email: builtins.bool | None = ...,
        is_superuser: builtins.bool | None = ...,
        ui_language_preference: builtins.str | None = ...,
        profile_public_visibility: Global___ProfilePublicVisibility.ValueType | None = ...,
        is_volunteer: builtins.bool | None = ...,
        should_show_donation_banner: builtins.bool | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["birthdate_verification_status", b"birthdate_verification_status", "do_not_email", b"do_not_email", "email", b"email", "gender_verification_status", b"gender_verification_status", "has_donated", b"has_donated", "has_strong_verification", b"has_strong_verification", "is_superuser", b"is_superuser", "is_volunteer", b"is_volunteer", "my_home_complete", b"my_home_complete", "phone", b"phone", "phone_verified", b"phone_verified", "profile_complete", b"profile_complete", "profile_public_visibility", b"profile_public_visibility", "should_show_donation_banner", b"should_show_donation_banner", "timezone", b"timezone", "ui_language_preference", b"ui_language_preference", "username", b"username"]) -> None: ...

Global___GetAccountInfoRes: typing_extensions.TypeAlias = GetAccountInfoRes

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

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

Global___ChangePasswordV2Req: typing_extensions.TypeAlias = ChangePasswordV2Req

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

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

Global___ChangeEmailV2Req: typing_extensions.TypeAlias = ChangeEmailV2Req

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

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

Global___ChangeLanguagePreferenceReq: typing_extensions.TypeAlias = ChangeLanguagePreferenceReq

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

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

Global___GetContributorFormInfoRes: typing_extensions.TypeAlias = GetContributorFormInfoRes

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

    CONTRIBUTOR_FORM_FIELD_NUMBER: builtins.int
    @property
    def contributor_form(self) -> auth_pb2.ContributorForm: ...
    def __init__(
        self,
        *,
        contributor_form: auth_pb2.ContributorForm | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contributor_form", b"contributor_form"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contributor_form", b"contributor_form"]) -> None: ...

Global___FillContributorFormReq: typing_extensions.TypeAlias = FillContributorFormReq

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

    PHONE_FIELD_NUMBER: builtins.int
    phone: builtins.str
    """New phone number in international format without spaces and punctuation,
    for example "+46701740605". Pass empty string to remove a verified phone number.
    The phone number will only be visible, once verified, to accepted guests and accepted hosts.
    """
    def __init__(
        self,
        *,
        phone: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["phone", b"phone"]) -> None: ...

Global___ChangePhoneReq: typing_extensions.TypeAlias = ChangePhoneReq

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

    TOKEN_FIELD_NUMBER: builtins.int
    token: builtins.str
    """Should be a 6-digit string with Luhn algorithm mod 10 checksum equals 0.
    Frontends could do that pre-check.
    """
    def __init__(
        self,
        *,
        token: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["token", b"token"]) -> None: ...

Global___VerifyPhoneReq: typing_extensions.TypeAlias = VerifyPhoneReq

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

    VERIFICATION_ATTEMPT_TOKEN_FIELD_NUMBER: builtins.int
    REDIRECT_URL_FIELD_NUMBER: builtins.int
    verification_attempt_token: builtins.str
    """use this token to check status"""
    redirect_url: builtins.str
    """this is where the user should be redirected for the next step"""
    def __init__(
        self,
        *,
        verification_attempt_token: builtins.str | None = ...,
        redirect_url: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["redirect_url", b"redirect_url", "verification_attempt_token", b"verification_attempt_token"]) -> None: ...

Global___InitiateStrongVerificationRes: typing_extensions.TypeAlias = InitiateStrongVerificationRes

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

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

Global___GetStrongVerificationAttemptStatusReq: typing_extensions.TypeAlias = GetStrongVerificationAttemptStatusReq

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

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

Global___GetStrongVerificationAttemptStatusRes: typing_extensions.TypeAlias = GetStrongVerificationAttemptStatusRes

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

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

Global___DeleteAccountReq: typing_extensions.TypeAlias = DeleteAccountReq

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

    NOTE_ID_FIELD_NUMBER: builtins.int
    NOTE_CONTENT_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    ACKNOWLEDGED_FIELD_NUMBER: builtins.int
    note_id: builtins.int
    """used in ack"""
    note_content: builtins.str
    """CommonMark without images"""
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def acknowledged(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """will be empty if pending"""

    def __init__(
        self,
        *,
        note_id: builtins.int | None = ...,
        note_content: builtins.str | None = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        acknowledged: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["acknowledged", b"acknowledged", "created", b"created"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["acknowledged", b"acknowledged", "created", b"created", "note_content", b"note_content", "note_id", b"note_id"]) -> None: ...

Global___ModNote: typing_extensions.TypeAlias = ModNote

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

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

Global___ListModNotesRes: typing_extensions.TypeAlias = ListModNotesRes

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

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

Global___ListActiveSessionsReq: typing_extensions.TypeAlias = ListActiveSessionsReq

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

    CREATED_FIELD_NUMBER: builtins.int
    EXPIRY_FIELD_NUMBER: builtins.int
    LAST_SEEN_FIELD_NUMBER: builtins.int
    OPERATING_SYSTEM_FIELD_NUMBER: builtins.int
    BROWSER_FIELD_NUMBER: builtins.int
    DEVICE_FIELD_NUMBER: builtins.int
    APPROXIMATE_LOCATION_FIELD_NUMBER: builtins.int
    IS_CURRENT_SESSION_FIELD_NUMBER: builtins.int
    operating_system: builtins.str
    browser: builtins.str
    device: builtins.str
    approximate_location: builtins.str
    is_current_session: builtins.bool
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def expiry(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def last_seen(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        expiry: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_seen: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        operating_system: builtins.str | None = ...,
        browser: builtins.str | None = ...,
        device: builtins.str | None = ...,
        approximate_location: builtins.str | None = ...,
        is_current_session: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created", b"created", "expiry", b"expiry", "last_seen", b"last_seen"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["approximate_location", b"approximate_location", "browser", b"browser", "created", b"created", "device", b"device", "expiry", b"expiry", "is_current_session", b"is_current_session", "last_seen", b"last_seen", "operating_system", b"operating_system"]) -> None: ...

Global___ActiveSession: typing_extensions.TypeAlias = ActiveSession

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

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

Global___ListActiveSessionsRes: typing_extensions.TypeAlias = ListActiveSessionsRes

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

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

Global___LogOutSessionReq: typing_extensions.TypeAlias = LogOutSessionReq

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

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

Global___LogOutOtherSessionsReq: typing_extensions.TypeAlias = LogOutOtherSessionsReq

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

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

Global___SetProfilePublicVisibilityReq: typing_extensions.TypeAlias = SetProfilePublicVisibilityReq

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

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

Global___CreateInviteCodeReq: typing_extensions.TypeAlias = CreateInviteCodeReq

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

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

Global___CreateInviteCodeRes: typing_extensions.TypeAlias = CreateInviteCodeRes

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

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

Global___DisableInviteCodeReq: typing_extensions.TypeAlias = DisableInviteCodeReq

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

    CODE_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    DISABLED_FIELD_NUMBER: builtins.int
    USES_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    code: builtins.str
    uses: builtins.int
    url: builtins.str
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def disabled(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        code: builtins.str | None = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        disabled: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        uses: builtins.int | None = ...,
        url: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created", b"created", "disabled", b"disabled"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["code", b"code", "created", b"created", "disabled", b"disabled", "url", b"url", "uses", b"uses"]) -> None: ...

Global___InviteCodeInfo: typing_extensions.TypeAlias = InviteCodeInfo

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

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

Global___ListInviteCodesRes: typing_extensions.TypeAlias = ListInviteCodesRes

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

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

Global___CompleteProfileReminder: typing_extensions.TypeAlias = CompleteProfileReminder

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

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

Global___CompleteVerificationReminder: typing_extensions.TypeAlias = CompleteVerificationReminder

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

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    SURFER_USER_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    @property
    def surfer_user(self) -> api_pb2.LiteUser: ...
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        surfer_user: api_pb2.LiteUser | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["surfer_user", b"surfer_user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["host_request_id", b"host_request_id", "surfer_user", b"surfer_user"]) -> None: ...

Global___RespondToHostRequestReminder: typing_extensions.TypeAlias = RespondToHostRequestReminder

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

    HOST_REQUEST_ID_FIELD_NUMBER: builtins.int
    OTHER_USER_FIELD_NUMBER: builtins.int
    REFERENCE_TYPE_FIELD_NUMBER: builtins.int
    host_request_id: builtins.int
    reference_type: references_pb2.ReferenceType.ValueType
    @property
    def other_user(self) -> api_pb2.LiteUser: ...
    def __init__(
        self,
        *,
        host_request_id: builtins.int | None = ...,
        other_user: api_pb2.LiteUser | None = ...,
        reference_type: references_pb2.ReferenceType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["other_user", b"other_user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["host_request_id", b"host_request_id", "other_user", b"other_user", "reference_type", b"reference_type"]) -> None: ...

Global___WriteReferenceReminder: typing_extensions.TypeAlias = WriteReferenceReminder

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

    COMPLETE_PROFILE_REMINDER_FIELD_NUMBER: builtins.int
    COMPLETE_VERIFICATION_REMINDER_FIELD_NUMBER: builtins.int
    RESPOND_TO_HOST_REQUEST_REMINDER_FIELD_NUMBER: builtins.int
    WRITE_REFERENCE_REMINDER_FIELD_NUMBER: builtins.int
    @property
    def complete_profile_reminder(self) -> Global___CompleteProfileReminder: ...
    @property
    def complete_verification_reminder(self) -> Global___CompleteVerificationReminder: ...
    @property
    def respond_to_host_request_reminder(self) -> Global___RespondToHostRequestReminder: ...
    @property
    def write_reference_reminder(self) -> Global___WriteReferenceReminder: ...
    def __init__(
        self,
        *,
        complete_profile_reminder: Global___CompleteProfileReminder | None = ...,
        complete_verification_reminder: Global___CompleteVerificationReminder | None = ...,
        respond_to_host_request_reminder: Global___RespondToHostRequestReminder | None = ...,
        write_reference_reminder: Global___WriteReferenceReminder | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["complete_profile_reminder", b"complete_profile_reminder", "complete_verification_reminder", b"complete_verification_reminder", "reminder", b"reminder", "respond_to_host_request_reminder", b"respond_to_host_request_reminder", "write_reference_reminder", b"write_reference_reminder"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["complete_profile_reminder", b"complete_profile_reminder", "complete_verification_reminder", b"complete_verification_reminder", "reminder", b"reminder", "respond_to_host_request_reminder", b"respond_to_host_request_reminder", "write_reference_reminder", b"write_reference_reminder"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["reminder", b"reminder"]) -> typing.Literal["complete_profile_reminder", "complete_verification_reminder", "respond_to_host_request_reminder", "write_reference_reminder"] | None: ...

Global___Reminder: typing_extensions.TypeAlias = Reminder

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

    REMINDERS_FIELD_NUMBER: builtins.int
    @property
    def reminders(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Reminder]:
        """items are returned in order from most important to least important and should be displayed as such"""

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

Global___GetRemindersRes: typing_extensions.TypeAlias = GetRemindersRes

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

    DISPLAY_NAME_FIELD_NUMBER: builtins.int
    DISPLAY_LOCATION_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    STARTED_VOLUNTEERING_FIELD_NUMBER: builtins.int
    STOPPED_VOLUNTEERING_FIELD_NUMBER: builtins.int
    SHOW_ON_TEAM_PAGE_FIELD_NUMBER: builtins.int
    LINK_TYPE_FIELD_NUMBER: builtins.int
    LINK_TEXT_FIELD_NUMBER: builtins.int
    LINK_URL_FIELD_NUMBER: builtins.int
    display_name: builtins.str
    """empty for missing"""
    display_location: builtins.str
    role: builtins.str
    """volunteer defined role"""
    started_volunteering: builtins.str
    """dates as "yyyy-mm-dd" """
    stopped_volunteering: builtins.str
    show_on_team_page: builtins.bool
    link_type: builtins.str
    """link type, one of couchers, email, linkedin, website"""
    link_text: builtins.str
    """the text to be shown on the link"""
    link_url: builtins.str
    """the URL the link should take you to"""
    def __init__(
        self,
        *,
        display_name: builtins.str | None = ...,
        display_location: builtins.str | None = ...,
        role: builtins.str | None = ...,
        started_volunteering: builtins.str | None = ...,
        stopped_volunteering: builtins.str | None = ...,
        show_on_team_page: builtins.bool | None = ...,
        link_type: builtins.str | None = ...,
        link_text: builtins.str | None = ...,
        link_url: builtins.str | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["display_location", b"display_location", "display_name", b"display_name", "link_text", b"link_text", "link_type", b"link_type", "link_url", b"link_url", "role", b"role", "show_on_team_page", b"show_on_team_page", "started_volunteering", b"started_volunteering", "stopped_volunteering", b"stopped_volunteering"]) -> None: ...

Global___GetMyVolunteerInfoRes: typing_extensions.TypeAlias = GetMyVolunteerInfoRes

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

    DISPLAY_NAME_FIELD_NUMBER: builtins.int
    DISPLAY_LOCATION_FIELD_NUMBER: builtins.int
    SHOW_ON_TEAM_PAGE_FIELD_NUMBER: builtins.int
    LINK_TYPE_FIELD_NUMBER: builtins.int
    LINK_TEXT_FIELD_NUMBER: builtins.int
    LINK_URL_FIELD_NUMBER: builtins.int
    @property
    def display_name(self) -> google.protobuf.wrappers_pb2.StringValue:
        """empty for missing"""

    @property
    def display_location(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def show_on_team_page(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    @property
    def link_type(self) -> google.protobuf.wrappers_pb2.StringValue:
        """link type, one of email, linkedin, website"""

    @property
    def link_text(self) -> google.protobuf.wrappers_pb2.StringValue:
        """the text to be shown on the link"""

    @property
    def link_url(self) -> google.protobuf.wrappers_pb2.StringValue:
        """the URL the link should take you to"""

    def __init__(
        self,
        *,
        display_name: google.protobuf.wrappers_pb2.StringValue | None = ...,
        display_location: google.protobuf.wrappers_pb2.StringValue | None = ...,
        show_on_team_page: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        link_type: google.protobuf.wrappers_pb2.StringValue | None = ...,
        link_text: google.protobuf.wrappers_pb2.StringValue | None = ...,
        link_url: google.protobuf.wrappers_pb2.StringValue | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["display_location", b"display_location", "display_name", b"display_name", "link_text", b"link_text", "link_type", b"link_type", "link_url", b"link_url", "show_on_team_page", b"show_on_team_page"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["display_location", b"display_location", "display_name", b"display_name", "link_text", b"link_text", "link_type", b"link_type", "link_url", b"link_url", "show_on_team_page", b"show_on_team_page"]) -> None: ...

Global___UpdateMyVolunteerInfoReq: typing_extensions.TypeAlias = UpdateMyVolunteerInfoReq
