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

import api_pb2
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_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

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

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

Global___GetPublicUserReq: typing_extensions.TypeAlias = GetPublicUserReq

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

    USERNAME_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    CITY_FIELD_NUMBER: builtins.int
    HOMETOWN_FIELD_NUMBER: builtins.int
    NUM_REFERENCES_FIELD_NUMBER: builtins.int
    JOINED_FIELD_NUMBER: builtins.int
    HOSTING_STATUS_FIELD_NUMBER: builtins.int
    MEETUP_STATUS_FIELD_NUMBER: builtins.int
    BADGES_FIELD_NUMBER: builtins.int
    username: builtins.str
    name: builtins.str
    city: builtins.str
    hometown: builtins.str
    num_references: builtins.int
    hosting_status: api_pb2.HostingStatus.ValueType
    meetup_status: api_pb2.MeetupStatus.ValueType
    @property
    def joined(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """not exact"""

    @property
    def badges(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        username: builtins.str | None = ...,
        name: builtins.str | None = ...,
        city: builtins.str | None = ...,
        hometown: builtins.str | None = ...,
        num_references: builtins.int | None = ...,
        joined: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        hosting_status: api_pb2.HostingStatus.ValueType | None = ...,
        meetup_status: api_pb2.MeetupStatus.ValueType | None = ...,
        badges: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["joined", b"joined"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["badges", b"badges", "city", b"city", "hometown", b"hometown", "hosting_status", b"hosting_status", "joined", b"joined", "meetup_status", b"meetup_status", "name", b"name", "num_references", b"num_references", "username", b"username"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___LimitedUser: typing_extensions.TypeAlias = LimitedUser

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

    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
    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
    REGIONS_VISITED_FIELD_NUMBER: builtins.int
    REGIONS_LIVED_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
    username: builtins.str
    name: builtins.str
    city: builtins.str
    hometown: builtins.str
    timezone: builtins.str
    num_references: builtins.int
    gender: builtins.str
    pronouns: builtins.str
    age: builtins.int
    hosting_status: api_pb2.HostingStatus.ValueType
    meetup_status: api_pb2.MeetupStatus.ValueType
    occupation: builtins.str
    education: builtins.str
    """CommonMark without images"""
    about_me: builtins.str
    """CommonMark without images"""
    things_i_like: builtins.str
    """CommonMark without images"""
    avatar_url: builtins.str
    avatar_thumbnail_url: builtins.str
    @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 language_abilities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[api_pb2.LanguageAbility]: ...
    @property
    def badges(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        username: builtins.str | None = ...,
        name: builtins.str | None = ...,
        city: builtins.str | None = ...,
        hometown: builtins.str | None = ...,
        timezone: builtins.str | 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: api_pb2.HostingStatus.ValueType | None = ...,
        meetup_status: api_pb2.MeetupStatus.ValueType | None = ...,
        occupation: builtins.str | None = ...,
        education: builtins.str | None = ...,
        about_me: builtins.str | None = ...,
        things_i_like: builtins.str | None = ...,
        regions_visited: collections.abc.Iterable[builtins.str] | None = ...,
        regions_lived: collections.abc.Iterable[builtins.str] | None = ...,
        avatar_url: builtins.str | None = ...,
        avatar_thumbnail_url: builtins.str | None = ...,
        language_abilities: collections.abc.Iterable[api_pb2.LanguageAbility] | None = ...,
        badges: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["joined", b"joined", "last_active", b"last_active"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["about_me", b"about_me", "age", b"age", "avatar_thumbnail_url", b"avatar_thumbnail_url", "avatar_url", b"avatar_url", "badges", b"badges", "city", b"city", "education", b"education", "gender", b"gender", "hometown", b"hometown", "hosting_status", b"hosting_status", "joined", b"joined", "language_abilities", b"language_abilities", "last_active", b"last_active", "meetup_status", b"meetup_status", "name", b"name", "num_references", b"num_references", "occupation", b"occupation", "pronouns", b"pronouns", "regions_lived", b"regions_lived", "regions_visited", b"regions_visited", "things_i_like", b"things_i_like", "timezone", b"timezone", "username", b"username"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___MostUser: typing_extensions.TypeAlias = MostUser

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

    LIMITED_USER_FIELD_NUMBER: builtins.int
    MOST_USER_FIELD_NUMBER: builtins.int
    FULL_USER_FIELD_NUMBER: builtins.int
    @property
    def limited_user(self) -> Global___LimitedUser: ...
    @property
    def most_user(self) -> Global___MostUser: ...
    @property
    def full_user(self) -> api_pb2.User: ...
    def __init__(
        self,
        *,
        limited_user: Global___LimitedUser | None = ...,
        most_user: Global___MostUser | None = ...,
        full_user: api_pb2.User | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["full_user", b"full_user", "limited_user", b"limited_user", "most_user", b"most_user", "profile", b"profile"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["full_user", b"full_user", "limited_user", b"limited_user", "most_user", b"most_user", "profile", b"profile"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_profile: typing_extensions.TypeAlias = typing.Literal["limited_user", "most_user", "full_user"]
    _WhichOneofArgType_profile: typing_extensions.TypeAlias = typing.Literal["profile", b"profile"]
    def WhichOneof(self, oneof_group: _WhichOneofArgType_profile) -> _WhichOneofReturnType_profile | None: ...

Global___GetPublicUserRes: typing_extensions.TypeAlias = GetPublicUserRes

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

    LAST_SIGNUP_FIELD_NUMBER: builtins.int
    LAST_LOCATION_FIELD_NUMBER: builtins.int
    USER_COUNT_FIELD_NUMBER: builtins.int
    last_location: builtins.str
    user_count: builtins.int
    @property
    def last_signup(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        last_signup: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_location: builtins.str | None = ...,
        user_count: builtins.int | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["last_signup", b"last_signup"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["last_location", b"last_location", "last_signup", b"last_signup", "user_count", b"user_count"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetSignupPageInfoRes: typing_extensions.TypeAlias = GetSignupPageInfoRes

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

    NAME_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    IS_BOARD_MEMBER_FIELD_NUMBER: builtins.int
    ROLE_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    IMG_FIELD_NUMBER: builtins.int
    LINK_TYPE_FIELD_NUMBER: builtins.int
    LINK_TEXT_FIELD_NUMBER: builtins.int
    LINK_URL_FIELD_NUMBER: builtins.int
    name: builtins.str
    """display name"""
    username: builtins.str
    """couchers username"""
    is_board_member: builtins.bool
    """whether the user is a board member (and director)"""
    role: builtins.str
    """volunteer defined role"""
    location: builtins.str
    """location from profile"""
    img: builtins.str
    """avatar from profile"""
    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,
        *,
        name: builtins.str | None = ...,
        username: builtins.str | None = ...,
        is_board_member: builtins.bool | None = ...,
        role: builtins.str | None = ...,
        location: builtins.str | None = ...,
        img: builtins.str | None = ...,
        link_type: builtins.str | None = ...,
        link_text: builtins.str | None = ...,
        link_url: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["img", b"img", "is_board_member", b"is_board_member", "link_text", b"link_text", "link_type", b"link_type", "link_url", b"link_url", "location", b"location", "name", b"name", "role", b"role", "username", b"username"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Volunteer: typing_extensions.TypeAlias = Volunteer

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

    CURRENT_VOLUNTEERS_FIELD_NUMBER: builtins.int
    PAST_VOLUNTEERS_FIELD_NUMBER: builtins.int
    @property
    def current_volunteers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Volunteer]: ...
    @property
    def past_volunteers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Volunteer]: ...
    def __init__(
        self,
        *,
        current_volunteers: collections.abc.Iterable[Global___Volunteer] | None = ...,
        past_volunteers: collections.abc.Iterable[Global___Volunteer] | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["current_volunteers", b"current_volunteers", "past_volunteers", b"past_volunteers"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetVolunteersRes: typing_extensions.TypeAlias = GetVolunteersRes

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

    TOTAL_DONATED_YTD_FIELD_NUMBER: builtins.int
    GOAL_FIELD_NUMBER: builtins.int
    total_donated_ytd: builtins.int
    """Total donations received this year in USD (whole dollars)"""
    goal: builtins.int
    """The fundraising goal in USD (whole dollars)"""
    def __init__(
        self,
        *,
        total_donated_ytd: builtins.int | None = ...,
        goal: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["goal", b"goal", "total_donated_ytd", b"total_donated_ytd"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetDonationStatsRes: typing_extensions.TypeAlias = GetDonationStatsRes
