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

import builtins
import collections.abc
import discussions_pb2
import events_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.timestamp_pb2
import groups_pb2
import pages_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 _NodeType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _NodeTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_NodeType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    NODE_TYPE_UNSPECIFIED: _NodeType.ValueType  # 0
    NODE_TYPE_WORLD: _NodeType.ValueType  # 1
    NODE_TYPE_MACROREGION: _NodeType.ValueType  # 2
    NODE_TYPE_REGION: _NodeType.ValueType  # 3
    NODE_TYPE_SUBREGION: _NodeType.ValueType  # 4
    NODE_TYPE_LOCALITY: _NodeType.ValueType  # 5
    NODE_TYPE_SUBLOCALITY: _NodeType.ValueType  # 6

class NodeType(_NodeType, metaclass=_NodeTypeEnumTypeWrapper): ...

NODE_TYPE_UNSPECIFIED: NodeType.ValueType  # 0
NODE_TYPE_WORLD: NodeType.ValueType  # 1
NODE_TYPE_MACROREGION: NodeType.ValueType  # 2
NODE_TYPE_REGION: NodeType.ValueType  # 3
NODE_TYPE_SUBREGION: NodeType.ValueType  # 4
NODE_TYPE_LOCALITY: NodeType.ValueType  # 5
NODE_TYPE_SUBLOCALITY: NodeType.ValueType  # 6
Global___NodeType: typing_extensions.TypeAlias = NodeType

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

    COMMUNITY_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    SLUG_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    PARENTS_FIELD_NUMBER: builtins.int
    MAIN_PAGE_FIELD_NUMBER: builtins.int
    MEMBER_FIELD_NUMBER: builtins.int
    ADMIN_FIELD_NUMBER: builtins.int
    MEMBER_COUNT_FIELD_NUMBER: builtins.int
    ADMIN_COUNT_FIELD_NUMBER: builtins.int
    NEARBY_USER_COUNT_FIELD_NUMBER: builtins.int
    CAN_MODERATE_FIELD_NUMBER: builtins.int
    SMALL_COMMUNITY_FEATURES_ENABLED_FIELD_NUMBER: builtins.int
    NODE_TYPE_FIELD_NUMBER: builtins.int
    community_id: builtins.int
    name: builtins.str
    slug: builtins.str
    """a short URL fragment generated from the name, e.g. New York City: a guide to Phở might become
    new-york-city-guide-to-pho
    """
    description: builtins.str
    """CommonMark without images"""
    member: builtins.bool
    """whether the requesting user is member/admin"""
    admin: builtins.bool
    member_count: builtins.int
    admin_count: builtins.int
    nearby_user_count: builtins.int
    can_moderate: builtins.bool
    small_community_features_enabled: builtins.bool
    """Toggles the "small community" feature set: discussions, events, and public trips. These are
    grouped into a single flag because they're disabled together on large communities.
    """
    node_type: Global___NodeType.ValueType
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def parents(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[groups_pb2.Parent]:
        """list of parents, ordered according to inclusion, e.g. World, US, New York, (NYC)"""

    @property
    def main_page(self) -> pages_pb2.Page:
        """we do not return the geometry here? (it's a potentially very big multipolygon)"""

    def __init__(
        self,
        *,
        community_id: builtins.int | None = ...,
        name: builtins.str | None = ...,
        slug: builtins.str | None = ...,
        description: builtins.str | None = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        parents: collections.abc.Iterable[groups_pb2.Parent] | None = ...,
        main_page: pages_pb2.Page | None = ...,
        member: builtins.bool | None = ...,
        admin: builtins.bool | None = ...,
        member_count: builtins.int | None = ...,
        admin_count: builtins.int | None = ...,
        nearby_user_count: builtins.int | None = ...,
        can_moderate: builtins.bool | None = ...,
        small_community_features_enabled: builtins.bool | None = ...,
        node_type: Global___NodeType.ValueType | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["created", b"created", "main_page", b"main_page"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["admin", b"admin", "admin_count", b"admin_count", "can_moderate", b"can_moderate", "community_id", b"community_id", "created", b"created", "description", b"description", "main_page", b"main_page", "member", b"member", "member_count", b"member_count", "name", b"name", "nearby_user_count", b"nearby_user_count", "node_type", b"node_type", "parents", b"parents", "slug", b"slug", "small_community_features_enabled", b"small_community_features_enabled"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Community: typing_extensions.TypeAlias = Community

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

    COMMUNITY_ID_FIELD_NUMBER: builtins.int
    community_id: builtins.int
    def __init__(
        self,
        *,
        community_id: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["community_id", b"community_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetCommunityReq: typing_extensions.TypeAlias = GetCommunityReq

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

    COMMUNITY_ID_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    community_id: builtins.int
    """leave blank (aka 0) to list all communities"""
    page_size: builtins.int
    page_token: builtins.str
    def __init__(
        self,
        *,
        community_id: builtins.int | None = ...,
        page_size: builtins.int | None = ...,
        page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["community_id", b"community_id", "page_size", b"page_size", "page_token", b"page_token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListCommunitiesReq: typing_extensions.TypeAlias = ListCommunitiesReq

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

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

Global___ListCommunitiesRes: typing_extensions.TypeAlias = ListCommunitiesRes

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

    USER_ID_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    user_id: builtins.int
    """the user to get communities from, set to 0 for current user"""
    page_size: builtins.int
    page_token: builtins.str
    def __init__(
        self,
        *,
        user_id: builtins.int | None = ...,
        page_size: builtins.int | None = ...,
        page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["page_size", b"page_size", "page_token", b"page_token", "user_id", b"user_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListUserCommunitiesReq: typing_extensions.TypeAlias = ListUserCommunitiesReq

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

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

Global___ListUserCommunitiesRes: typing_extensions.TypeAlias = ListUserCommunitiesRes

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

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

Global___ListGroupsReq: typing_extensions.TypeAlias = ListGroupsReq

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

    GROUPS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    @property
    def groups(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[groups_pb2.Group]: ...
    def __init__(
        self,
        *,
        groups: collections.abc.Iterable[groups_pb2.Group] | None = ...,
        next_page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["groups", b"groups", "next_page_token", b"next_page_token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListGroupsRes: typing_extensions.TypeAlias = ListGroupsRes

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

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

Global___ListAdminsReq: typing_extensions.TypeAlias = ListAdminsReq

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

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

Global___ListAdminsRes: typing_extensions.TypeAlias = ListAdminsRes

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

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

Global___AddAdminReq: typing_extensions.TypeAlias = AddAdminReq

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

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

Global___RemoveAdminReq: typing_extensions.TypeAlias = RemoveAdminReq

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

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

Global___ListMembersReq: typing_extensions.TypeAlias = ListMembersReq

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

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

Global___ListMembersRes: typing_extensions.TypeAlias = ListMembersRes

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

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

Global___ListNearbyUsersReq: typing_extensions.TypeAlias = ListNearbyUsersReq

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

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

Global___ListNearbyUsersRes: typing_extensions.TypeAlias = ListNearbyUsersRes

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

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

Global___ListPlacesReq: typing_extensions.TypeAlias = ListPlacesReq

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

    PLACES_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    @property
    def places(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[pages_pb2.Page]: ...
    def __init__(
        self,
        *,
        places: collections.abc.Iterable[pages_pb2.Page] | None = ...,
        next_page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["next_page_token", b"next_page_token", "places", b"places"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListPlacesRes: typing_extensions.TypeAlias = ListPlacesRes

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

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

Global___ListGuidesReq: typing_extensions.TypeAlias = ListGuidesReq

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

    GUIDES_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    @property
    def guides(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[pages_pb2.Page]: ...
    def __init__(
        self,
        *,
        guides: collections.abc.Iterable[pages_pb2.Page] | None = ...,
        next_page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["guides", b"guides", "next_page_token", b"next_page_token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListGuidesRes: typing_extensions.TypeAlias = ListGuidesRes

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

    COMMUNITY_ID_FIELD_NUMBER: builtins.int
    PAST_FIELD_NUMBER: builtins.int
    INCLUDE_PARENTS_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    community_id: builtins.int
    past: builtins.bool
    include_parents: builtins.bool
    """whether to include events in all parent communities as well"""
    page_size: builtins.int
    page_token: builtins.str
    def __init__(
        self,
        *,
        community_id: builtins.int | None = ...,
        past: builtins.bool | None = ...,
        include_parents: builtins.bool | None = ...,
        page_size: builtins.int | None = ...,
        page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["community_id", b"community_id", "include_parents", b"include_parents", "page_size", b"page_size", "page_token", b"page_token", "past", b"past"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListEventsReq: typing_extensions.TypeAlias = ListEventsReq

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

    EVENTS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    @property
    def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[events_pb2.Event]: ...
    def __init__(
        self,
        *,
        events: collections.abc.Iterable[events_pb2.Event] | None = ...,
        next_page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["events", b"events", "next_page_token", b"next_page_token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListEventsRes: typing_extensions.TypeAlias = ListEventsRes

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

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

Global___ListDiscussionsReq: typing_extensions.TypeAlias = ListDiscussionsReq

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

    DISCUSSIONS_FIELD_NUMBER: builtins.int
    NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int
    next_page_token: builtins.str
    @property
    def discussions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[discussions_pb2.Discussion]: ...
    def __init__(
        self,
        *,
        discussions: collections.abc.Iterable[discussions_pb2.Discussion] | None = ...,
        next_page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["discussions", b"discussions", "next_page_token", b"next_page_token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListDiscussionsRes: typing_extensions.TypeAlias = ListDiscussionsRes

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

    COMMUNITY_ID_FIELD_NUMBER: builtins.int
    community_id: builtins.int
    def __init__(
        self,
        *,
        community_id: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["community_id", b"community_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___JoinCommunityReq: typing_extensions.TypeAlias = JoinCommunityReq

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

    COMMUNITY_ID_FIELD_NUMBER: builtins.int
    community_id: builtins.int
    def __init__(
        self,
        *,
        community_id: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["community_id", b"community_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___LeaveCommunityReq: typing_extensions.TypeAlias = LeaveCommunityReq

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

    QUERY_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    query: builtins.str
    page_size: builtins.int
    def __init__(
        self,
        *,
        query: builtins.str | None = ...,
        page_size: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["page_size", b"page_size", "query", b"query"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SearchCommunitiesReq: typing_extensions.TypeAlias = SearchCommunitiesReq

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

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

Global___SearchCommunitiesRes: typing_extensions.TypeAlias = SearchCommunitiesRes

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

    COMMUNITY_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    SLUG_FIELD_NUMBER: builtins.int
    MEMBER_FIELD_NUMBER: builtins.int
    MEMBER_COUNT_FIELD_NUMBER: builtins.int
    PARENTS_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    NODE_TYPE_FIELD_NUMBER: builtins.int
    community_id: builtins.int
    name: builtins.str
    slug: builtins.str
    member: builtins.bool
    member_count: builtins.int
    node_type: Global___NodeType.ValueType
    @property
    def parents(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[groups_pb2.Parent]:
        """list of parents, ordered according to inclusion, for hierarchical ordering"""

    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        community_id: builtins.int | None = ...,
        name: builtins.str | None = ...,
        slug: builtins.str | None = ...,
        member: builtins.bool | None = ...,
        member_count: builtins.int | None = ...,
        parents: collections.abc.Iterable[groups_pb2.Parent] | None = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        node_type: Global___NodeType.ValueType | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["created", b"created"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["community_id", b"community_id", "created", b"created", "member", b"member", "member_count", b"member_count", "name", b"name", "node_type", b"node_type", "parents", b"parents", "slug", b"slug"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___CommunitySummary: typing_extensions.TypeAlias = CommunitySummary

@typing.final
class ListAllCommunitiesReq(google.protobuf.message.Message):
    """empty for now, but allows for future filtering/pagination parameters"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

Global___ListAllCommunitiesReq: typing_extensions.TypeAlias = ListAllCommunitiesReq

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

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

Global___ListAllCommunitiesRes: typing_extensions.TypeAlias = ListAllCommunitiesRes

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

    PAGE_SIZE_FIELD_NUMBER: builtins.int
    page_size: builtins.int
    """number of communities to return; server caps this to a sensible maximum"""
    def __init__(
        self,
        *,
        page_size: builtins.int | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["page_size", b"page_size"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListRecentCommunitiesReq: typing_extensions.TypeAlias = ListRecentCommunitiesReq

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

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

Global___ListRecentCommunitiesRes: typing_extensions.TypeAlias = ListRecentCommunitiesRes
