"""
@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 sys
import threads_pb2
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _AttendanceStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_AttendanceState.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    ATTENDANCE_STATE_NOT_GOING: _AttendanceState.ValueType  # 0
    ATTENDANCE_STATE_GOING: _AttendanceState.ValueType  # 2
    """ATTENDANCE_STATE_MAYBE = 1; -- removed, maybe attendance is no longer supported"""

class AttendanceState(_AttendanceState, metaclass=_AttendanceStateEnumTypeWrapper): ...

ATTENDANCE_STATE_NOT_GOING: AttendanceState.ValueType  # 0
ATTENDANCE_STATE_GOING: AttendanceState.ValueType  # 2
"""ATTENDANCE_STATE_MAYBE = 1; -- removed, maybe attendance is no longer supported"""
Global___AttendanceState: typing_extensions.TypeAlias = AttendanceState

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

    ADDRESS_FIELD_NUMBER: builtins.int
    LAT_FIELD_NUMBER: builtins.int
    LNG_FIELD_NUMBER: builtins.int
    address: builtins.str
    """Events must have address + coordinates"""
    lat: builtins.float
    lng: builtins.float
    def __init__(
        self,
        *,
        address: builtins.str | None = ...,
        lat: builtins.float | None = ...,
        lng: builtins.float | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["address", b"address", "lat", b"lat", "lng", b"lng"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___EventLocation: typing_extensions.TypeAlias = EventLocation

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

    EVENT_ID_FIELD_NUMBER: builtins.int
    IS_NEXT_FIELD_NUMBER: builtins.int
    IS_CANCELLED_FIELD_NUMBER: builtins.int
    IS_DELETED_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    SLUG_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    PHOTO_URL_FIELD_NUMBER: builtins.int
    PHOTO_KEY_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    LAST_EDITED_FIELD_NUMBER: builtins.int
    CREATOR_USER_ID_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    END_TIME_FIELD_NUMBER: builtins.int
    TIMEZONE_FIELD_NUMBER: builtins.int
    ATTENDANCE_STATE_FIELD_NUMBER: builtins.int
    ORGANIZER_FIELD_NUMBER: builtins.int
    SUBSCRIBER_FIELD_NUMBER: builtins.int
    GOING_COUNT_FIELD_NUMBER: builtins.int
    ORGANIZER_COUNT_FIELD_NUMBER: builtins.int
    SUBSCRIBER_COUNT_FIELD_NUMBER: builtins.int
    OWNER_USER_ID_FIELD_NUMBER: builtins.int
    OWNER_COMMUNITY_ID_FIELD_NUMBER: builtins.int
    OWNER_GROUP_ID_FIELD_NUMBER: builtins.int
    THREAD_FIELD_NUMBER: builtins.int
    CAN_EDIT_FIELD_NUMBER: builtins.int
    CAN_MODERATE_FIELD_NUMBER: builtins.int
    event_id: builtins.int
    """= occurrence_id"""
    is_next: builtins.bool
    """whether this is the next occurrence of this particular event
    e.g. if this is a recurring event
    """
    is_cancelled: builtins.bool
    is_deleted: builtins.bool
    title: builtins.str
    slug: builtins.str
    """a short URL fragment generated from the name, e.g. "New York City: weekly meetup" might become
    "new-york-city-weekly-meetup"
    """
    content: builtins.str
    """CommonMark without images"""
    photo_url: builtins.str
    """empty string if no photo"""
    photo_key: builtins.str
    creator_user_id: builtins.int
    timezone: builtins.str
    """the tzdata timezone identifier"""
    attendance_state: Global___AttendanceState.ValueType
    """the user's attendance state"""
    organizer: builtins.bool
    """whether the current user is a subscriber/organizer to the event
    subscribers get emails about stuff
    """
    subscriber: builtins.bool
    going_count: builtins.int
    organizer_count: builtins.int
    subscriber_count: builtins.int
    owner_user_id: builtins.int
    owner_community_id: builtins.int
    owner_group_id: builtins.int
    can_edit: builtins.bool
    can_moderate: builtins.bool
    @property
    def location(self) -> Global___EventLocation: ...
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def last_edited(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """the UTC timestamps of start and end times"""

    @property
    def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def thread(self) -> threads_pb2.Thread: ...
    def __init__(
        self,
        *,
        event_id: builtins.int | None = ...,
        is_next: builtins.bool | None = ...,
        is_cancelled: builtins.bool | None = ...,
        is_deleted: builtins.bool | None = ...,
        title: builtins.str | None = ...,
        slug: builtins.str | None = ...,
        content: builtins.str | None = ...,
        photo_url: builtins.str | None = ...,
        photo_key: builtins.str | None = ...,
        location: Global___EventLocation | None = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        last_edited: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        creator_user_id: builtins.int | None = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        timezone: builtins.str | None = ...,
        attendance_state: Global___AttendanceState.ValueType | None = ...,
        organizer: builtins.bool | None = ...,
        subscriber: builtins.bool | None = ...,
        going_count: builtins.int | None = ...,
        organizer_count: builtins.int | None = ...,
        subscriber_count: builtins.int | None = ...,
        owner_user_id: builtins.int | None = ...,
        owner_community_id: builtins.int | None = ...,
        owner_group_id: builtins.int | None = ...,
        thread: threads_pb2.Thread | None = ...,
        can_edit: builtins.bool | None = ...,
        can_moderate: builtins.bool | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["created", b"created", "end_time", b"end_time", "last_edited", b"last_edited", "location", b"location", "owner", b"owner", "owner_community_id", b"owner_community_id", "owner_group_id", b"owner_group_id", "owner_user_id", b"owner_user_id", "start_time", b"start_time", "thread", b"thread"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["attendance_state", b"attendance_state", "can_edit", b"can_edit", "can_moderate", b"can_moderate", "content", b"content", "created", b"created", "creator_user_id", b"creator_user_id", "end_time", b"end_time", "event_id", b"event_id", "going_count", b"going_count", "is_cancelled", b"is_cancelled", "is_deleted", b"is_deleted", "is_next", b"is_next", "last_edited", b"last_edited", "location", b"location", "organizer", b"organizer", "organizer_count", b"organizer_count", "owner", b"owner", "owner_community_id", b"owner_community_id", "owner_group_id", b"owner_group_id", "owner_user_id", b"owner_user_id", "photo_key", b"photo_key", "photo_url", b"photo_url", "slug", b"slug", "start_time", b"start_time", "subscriber", b"subscriber", "subscriber_count", b"subscriber_count", "thread", b"thread", "timezone", b"timezone", "title", b"title"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_owner: typing_extensions.TypeAlias = typing.Literal["owner_user_id", "owner_community_id", "owner_group_id"]
    _WhichOneofArgType_owner: typing_extensions.TypeAlias = typing.Literal["owner", b"owner"]
    def WhichOneof(self, oneof_group: _WhichOneofArgType_owner) -> _WhichOneofReturnType_owner | None: ...

Global___Event: typing_extensions.TypeAlias = Event

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

    TITLE_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    PHOTO_KEY_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    PARENT_COMMUNITY_ID_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    END_TIME_FIELD_NUMBER: builtins.int
    TIMEZONE_FIELD_NUMBER: builtins.int
    title: builtins.str
    content: builtins.str
    """CommonMark without images"""
    photo_key: builtins.str
    """from media server"""
    parent_community_id: builtins.int
    """Optional, can be auto-filled from the location"""
    timezone: builtins.str
    """the tzdata timezone identifier, empty string means tz of creating user"""
    @property
    def location(self) -> Global___EventLocation: ...
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """timestamps are in UTC"""

    @property
    def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        title: builtins.str | None = ...,
        content: builtins.str | None = ...,
        photo_key: builtins.str | None = ...,
        location: Global___EventLocation | None = ...,
        parent_community_id: builtins.int | None = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        timezone: builtins.str | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["end_time", b"end_time", "location", b"location", "start_time", b"start_time"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["content", b"content", "end_time", b"end_time", "location", b"location", "parent_community_id", b"parent_community_id", "photo_key", b"photo_key", "start_time", b"start_time", "timezone", b"timezone", "title", b"title"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___CreateEventReq: typing_extensions.TypeAlias = CreateEventReq

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

    EVENT_ID_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    PHOTO_KEY_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    END_TIME_FIELD_NUMBER: builtins.int
    TIMEZONE_FIELD_NUMBER: builtins.int
    event_id: builtins.int
    content: builtins.str
    """CommonMark without images"""
    photo_key: builtins.str
    """from media server"""
    timezone: builtins.str
    """the tzdata timezone identifier, empty string means tz of creating user"""
    @property
    def location(self) -> Global___EventLocation: ...
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """timestamps are in UTC"""

    @property
    def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        event_id: builtins.int | None = ...,
        content: builtins.str | None = ...,
        photo_key: builtins.str | None = ...,
        location: Global___EventLocation | None = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        timezone: builtins.str | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["end_time", b"end_time", "location", b"location", "start_time", b"start_time"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["content", b"content", "end_time", b"end_time", "event_id", b"event_id", "location", b"location", "photo_key", b"photo_key", "start_time", b"start_time", "timezone", b"timezone"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ScheduleEventReq: typing_extensions.TypeAlias = ScheduleEventReq

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

    EVENT_ID_FIELD_NUMBER: builtins.int
    UPDATE_ALL_FUTURE_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    PHOTO_KEY_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    START_TIME_FIELD_NUMBER: builtins.int
    END_TIME_FIELD_NUMBER: builtins.int
    TIMEZONE_FIELD_NUMBER: builtins.int
    SHOULD_NOTIFY_FIELD_NUMBER: builtins.int
    event_id: builtins.int
    update_all_future: builtins.bool
    """whether to update all future occurrences or just this one"""
    should_notify: builtins.bool
    """whether to notify all attendees about the change"""
    @property
    def title(self) -> google.protobuf.wrappers_pb2.StringValue: ...
    @property
    def content(self) -> google.protobuf.wrappers_pb2.StringValue:
        """CommonMark without images"""

    @property
    def photo_key(self) -> google.protobuf.wrappers_pb2.StringValue:
        """from media server, set to empty string to clear"""

    @property
    def location(self) -> Global___EventLocation: ...
    @property
    def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def timezone(self) -> google.protobuf.wrappers_pb2.StringValue:
        """the tzdata timezone identifier"""

    def __init__(
        self,
        *,
        event_id: builtins.int | None = ...,
        update_all_future: builtins.bool | None = ...,
        title: google.protobuf.wrappers_pb2.StringValue | None = ...,
        content: google.protobuf.wrappers_pb2.StringValue | None = ...,
        photo_key: google.protobuf.wrappers_pb2.StringValue | None = ...,
        location: Global___EventLocation | None = ...,
        start_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        end_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        timezone: google.protobuf.wrappers_pb2.StringValue | None = ...,
        should_notify: builtins.bool | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["content", b"content", "end_time", b"end_time", "location", b"location", "photo_key", b"photo_key", "start_time", b"start_time", "timezone", b"timezone", "title", b"title"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["content", b"content", "end_time", b"end_time", "event_id", b"event_id", "location", b"location", "photo_key", b"photo_key", "should_notify", b"should_notify", "start_time", b"start_time", "timezone", b"timezone", "title", b"title", "update_all_future", b"update_all_future"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___UpdateEventReq: typing_extensions.TypeAlias = UpdateEventReq

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

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

Global___GetEventReq: typing_extensions.TypeAlias = GetEventReq

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

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

Global___CancelEventReq: typing_extensions.TypeAlias = CancelEventReq

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

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

Global___RequestCommunityInviteReq: typing_extensions.TypeAlias = RequestCommunityInviteReq

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

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

Global___ListEventAttendeesReq: typing_extensions.TypeAlias = ListEventAttendeesReq

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

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

Global___ListEventAttendeesRes: typing_extensions.TypeAlias = ListEventAttendeesRes

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

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

Global___ListEventSubscribersReq: typing_extensions.TypeAlias = ListEventSubscribersReq

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

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

Global___ListEventSubscribersRes: typing_extensions.TypeAlias = ListEventSubscribersRes

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

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

Global___ListEventOrganizersReq: typing_extensions.TypeAlias = ListEventOrganizersReq

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

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

Global___ListEventOrganizersRes: typing_extensions.TypeAlias = ListEventOrganizersRes

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

    PAST_FIELD_NUMBER: builtins.int
    SUBSCRIBED_FIELD_NUMBER: builtins.int
    ATTENDING_FIELD_NUMBER: builtins.int
    ORGANIZING_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    PAGE_NUMBER_FIELD_NUMBER: builtins.int
    MY_COMMUNITIES_FIELD_NUMBER: builtins.int
    INCLUDE_CANCELLED_FIELD_NUMBER: builtins.int
    MY_COMMUNITIES_EXCLUDE_GLOBAL_FIELD_NUMBER: builtins.int
    EXCLUDE_ATTENDING_FIELD_NUMBER: builtins.int
    past: builtins.bool
    """whether to paginate backwards"""
    subscribed: builtins.bool
    """all false => everything"""
    attending: builtins.bool
    organizing: builtins.bool
    page_size: builtins.int
    page_token: builtins.str
    page_number: builtins.int
    my_communities: builtins.bool
    """include events in the user's communities"""
    include_cancelled: builtins.bool
    my_communities_exclude_global: builtins.bool
    """when my_communities is set, exclude events in communities that are too large (e.g., the Global Community)"""
    exclude_attending: builtins.bool
    """exclude events the current user is already attending or organizing"""
    def __init__(
        self,
        *,
        past: builtins.bool | None = ...,
        subscribed: builtins.bool | None = ...,
        attending: builtins.bool | None = ...,
        organizing: builtins.bool | None = ...,
        page_size: builtins.int | None = ...,
        page_token: builtins.str | None = ...,
        page_number: builtins.int | None = ...,
        my_communities: builtins.bool | None = ...,
        include_cancelled: builtins.bool | None = ...,
        my_communities_exclude_global: builtins.bool | None = ...,
        exclude_attending: builtins.bool | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["page_number", b"page_number", "page_token", b"page_token", "pagination", b"pagination"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["attending", b"attending", "exclude_attending", b"exclude_attending", "include_cancelled", b"include_cancelled", "my_communities", b"my_communities", "my_communities_exclude_global", b"my_communities_exclude_global", "organizing", b"organizing", "page_number", b"page_number", "page_size", b"page_size", "page_token", b"page_token", "pagination", b"pagination", "past", b"past", "subscribed", b"subscribed"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_pagination: typing_extensions.TypeAlias = typing.Literal["page_token", "page_number"]
    _WhichOneofArgType_pagination: typing_extensions.TypeAlias = typing.Literal["pagination", b"pagination"]
    def WhichOneof(self, oneof_group: _WhichOneofArgType_pagination) -> _WhichOneofReturnType_pagination | None: ...

Global___ListMyEventsReq: typing_extensions.TypeAlias = ListMyEventsReq

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

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

Global___ListMyEventsRes: typing_extensions.TypeAlias = ListMyEventsRes

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

    PAST_FIELD_NUMBER: builtins.int
    INCLUDE_CANCELLED_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    past: builtins.bool
    """whether to paginate backwards"""
    include_cancelled: builtins.bool
    page_size: builtins.int
    page_token: builtins.str
    def __init__(
        self,
        *,
        past: builtins.bool | None = ...,
        include_cancelled: builtins.bool | None = ...,
        page_size: builtins.int | None = ...,
        page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["include_cancelled", b"include_cancelled", "page_size", b"page_size", "page_token", b"page_token", "past", b"past"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListAllEventsReq: typing_extensions.TypeAlias = ListAllEventsReq

@typing.final
class ListAllEventsRes(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[Global___Event]: ...
    def __init__(
        self,
        *,
        events: collections.abc.Iterable[Global___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___ListAllEventsRes: typing_extensions.TypeAlias = ListAllEventsRes

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

    EVENT_ID_FIELD_NUMBER: builtins.int
    PAST_FIELD_NUMBER: builtins.int
    INCLUDE_CANCELLED_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    PAGE_TOKEN_FIELD_NUMBER: builtins.int
    event_id: builtins.int
    past: builtins.bool
    """whether to paginate backwards"""
    include_cancelled: builtins.bool
    page_size: builtins.int
    page_token: builtins.str
    def __init__(
        self,
        *,
        event_id: builtins.int | None = ...,
        past: builtins.bool | None = ...,
        include_cancelled: builtins.bool | None = ...,
        page_size: builtins.int | None = ...,
        page_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["event_id", b"event_id", "include_cancelled", b"include_cancelled", "page_size", b"page_size", "page_token", b"page_token", "past", b"past"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ListEventOccurrencesReq: typing_extensions.TypeAlias = ListEventOccurrencesReq

@typing.final
class ListEventOccurrencesRes(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[Global___Event]: ...
    def __init__(
        self,
        *,
        events: collections.abc.Iterable[Global___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___ListEventOccurrencesRes: typing_extensions.TypeAlias = ListEventOccurrencesRes

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

    EVENT_ID_FIELD_NUMBER: builtins.int
    NEW_OWNER_COMMUNITY_ID_FIELD_NUMBER: builtins.int
    NEW_OWNER_GROUP_ID_FIELD_NUMBER: builtins.int
    event_id: builtins.int
    new_owner_community_id: builtins.int
    new_owner_group_id: builtins.int
    def __init__(
        self,
        *,
        event_id: builtins.int | None = ...,
        new_owner_community_id: builtins.int | None = ...,
        new_owner_group_id: builtins.int | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["new_owner", b"new_owner", "new_owner_community_id", b"new_owner_community_id", "new_owner_group_id", b"new_owner_group_id"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["event_id", b"event_id", "new_owner", b"new_owner", "new_owner_community_id", b"new_owner_community_id", "new_owner_group_id", b"new_owner_group_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_new_owner: typing_extensions.TypeAlias = typing.Literal["new_owner_community_id", "new_owner_group_id"]
    _WhichOneofArgType_new_owner: typing_extensions.TypeAlias = typing.Literal["new_owner", b"new_owner"]
    def WhichOneof(self, oneof_group: _WhichOneofArgType_new_owner) -> _WhichOneofReturnType_new_owner | None: ...

Global___TransferEventReq: typing_extensions.TypeAlias = TransferEventReq

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

    EVENT_ID_FIELD_NUMBER: builtins.int
    SUBSCRIBE_FIELD_NUMBER: builtins.int
    event_id: builtins.int
    subscribe: builtins.bool
    def __init__(
        self,
        *,
        event_id: builtins.int | None = ...,
        subscribe: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["event_id", b"event_id", "subscribe", b"subscribe"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SetEventSubscriptionReq: typing_extensions.TypeAlias = SetEventSubscriptionReq

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

    EVENT_ID_FIELD_NUMBER: builtins.int
    ATTENDANCE_STATE_FIELD_NUMBER: builtins.int
    event_id: builtins.int
    attendance_state: Global___AttendanceState.ValueType
    def __init__(
        self,
        *,
        event_id: builtins.int | None = ...,
        attendance_state: Global___AttendanceState.ValueType | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["attendance_state", b"attendance_state", "event_id", b"event_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SetEventAttendanceReq: typing_extensions.TypeAlias = SetEventAttendanceReq

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

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

Global___InviteEventOrganizerReq: typing_extensions.TypeAlias = InviteEventOrganizerReq

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

    EVENT_ID_FIELD_NUMBER: builtins.int
    USER_ID_FIELD_NUMBER: builtins.int
    event_id: builtins.int
    @property
    def user_id(self) -> google.protobuf.wrappers_pb2.Int64Value: ...
    def __init__(
        self,
        *,
        event_id: builtins.int | None = ...,
        user_id: google.protobuf.wrappers_pb2.Int64Value | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["user_id", b"user_id"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["event_id", b"event_id", "user_id", b"user_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___RemoveEventOrganizerReq: typing_extensions.TypeAlias = RemoveEventOrganizerReq
