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

import builtins
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.timestamp_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

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

    DISCUSSION_ID_FIELD_NUMBER: builtins.int
    SLUG_FIELD_NUMBER: builtins.int
    CREATED_FIELD_NUMBER: builtins.int
    CREATOR_USER_ID_FIELD_NUMBER: builtins.int
    OWNER_COMMUNITY_ID_FIELD_NUMBER: builtins.int
    OWNER_GROUP_ID_FIELD_NUMBER: builtins.int
    OWNER_TITLE_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    THREAD_FIELD_NUMBER: builtins.int
    CAN_MODERATE_FIELD_NUMBER: builtins.int
    discussion_id: builtins.int
    slug: builtins.str
    creator_user_id: builtins.int
    owner_community_id: builtins.int
    owner_group_id: builtins.int
    owner_title: builtins.str
    """name of community/group that this belongs in"""
    title: builtins.str
    content: builtins.str
    can_moderate: builtins.bool
    @property
    def created(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def thread(self) -> threads_pb2.Thread: ...
    def __init__(
        self,
        *,
        discussion_id: builtins.int | None = ...,
        slug: builtins.str | None = ...,
        created: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        creator_user_id: builtins.int | None = ...,
        owner_community_id: builtins.int | None = ...,
        owner_group_id: builtins.int | None = ...,
        owner_title: builtins.str | None = ...,
        title: builtins.str | None = ...,
        content: builtins.str | None = ...,
        thread: threads_pb2.Thread | None = ...,
        can_moderate: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created", b"created", "owner", b"owner", "owner_community_id", b"owner_community_id", "owner_group_id", b"owner_group_id", "thread", b"thread"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["can_moderate", b"can_moderate", "content", b"content", "created", b"created", "creator_user_id", b"creator_user_id", "discussion_id", b"discussion_id", "owner", b"owner", "owner_community_id", b"owner_community_id", "owner_group_id", b"owner_group_id", "owner_title", b"owner_title", "slug", b"slug", "thread", b"thread", "title", b"title"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["owner", b"owner"]) -> typing.Literal["owner_community_id", "owner_group_id"] | None: ...

Global___Discussion: typing_extensions.TypeAlias = Discussion

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

    TITLE_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    OWNER_COMMUNITY_ID_FIELD_NUMBER: builtins.int
    OWNER_GROUP_ID_FIELD_NUMBER: builtins.int
    title: builtins.str
    content: builtins.str
    owner_community_id: builtins.int
    owner_group_id: builtins.int
    def __init__(
        self,
        *,
        title: builtins.str | None = ...,
        content: builtins.str | None = ...,
        owner_community_id: builtins.int | None = ...,
        owner_group_id: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["owner", b"owner", "owner_community_id", b"owner_community_id", "owner_group_id", b"owner_group_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["content", b"content", "owner", b"owner", "owner_community_id", b"owner_community_id", "owner_group_id", b"owner_group_id", "title", b"title"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["owner", b"owner"]) -> typing.Literal["owner_community_id", "owner_group_id"] | None: ...

Global___CreateDiscussionReq: typing_extensions.TypeAlias = CreateDiscussionReq

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

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

Global___GetDiscussionReq: typing_extensions.TypeAlias = GetDiscussionReq
