"""
@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.message
import paperpilot_common.protobuf.user.user_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class ProjectId(google.protobuf.message.Message):
    """项目 ID"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id", b"id"]) -> None: ...

global___ProjectId = ProjectId

@typing_extensions.final
class ProjectInviteCode(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INVITE_CODE_FIELD_NUMBER: builtins.int
    invite_code: builtins.str
    def __init__(
        self,
        *,
        invite_code: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["invite_code", b"invite_code"]) -> None: ...

global___ProjectInviteCode = ProjectInviteCode

@typing_extensions.final
class ProjectInfo(google.protobuf.message.Message):
    """项目简要信息"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    INVITE_CODE_FIELD_NUMBER: builtins.int
    OWNER_ID_FIELD_NUMBER: builtins.int
    MEMBERS_FIELD_NUMBER: builtins.int
    id: builtins.str
    """项目ID"""
    name: builtins.str
    """项目名称"""
    description: builtins.str
    """项目描述"""
    invite_code: builtins.str
    """邀请码"""
    owner_id: builtins.str
    """拥有者 ID"""
    @property
    def members(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        paperpilot_common.protobuf.user.user_pb2.UserInfo
    ]:
        """项目成员列表"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        description: builtins.str = ...,
        invite_code: builtins.str = ...,
        owner_id: builtins.str = ...,
        members: collections.abc.Iterable[paperpilot_common.protobuf.user.user_pb2.UserInfo] | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "description",
            b"description",
            "id",
            b"id",
            "invite_code",
            b"invite_code",
            "members",
            b"members",
            "name",
            b"name",
            "owner_id",
            b"owner_id",
        ],
    ) -> None: ...

global___ProjectInfo = ProjectInfo

@typing_extensions.final
class ListProjectRequest(google.protobuf.message.Message):
    """获取项目列表请求"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAGE_FIELD_NUMBER: builtins.int
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    ORDER_BY_FIELD_NUMBER: builtins.int
    page: builtins.int
    """页码"""
    page_size: builtins.int
    """每页大小"""
    order_by: builtins.str
    """排序字段"""
    def __init__(
        self,
        *,
        page: builtins.int = ...,
        page_size: builtins.int = ...,
        order_by: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["order_by", b"order_by", "page", b"page", "page_size", b"page_size"]
    ) -> None: ...

global___ListProjectRequest = ListProjectRequest

@typing_extensions.final
class ListProjectResponse(google.protobuf.message.Message):
    """获取项目列表响应"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROJECTS_FIELD_NUMBER: builtins.int
    TOTAL_FIELD_NUMBER: builtins.int
    NEXT_PAGE_FIELD_NUMBER: builtins.int
    @property
    def projects(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ProjectInfo]:
        """项目列表"""
    total: builtins.int
    """总数"""
    next_page: builtins.int
    """下一页"""
    def __init__(
        self,
        *,
        projects: collections.abc.Iterable[global___ProjectInfo] | None = ...,
        total: builtins.int = ...,
        next_page: builtins.int = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal["next_page", b"next_page", "projects", b"projects", "total", b"total"],
    ) -> None: ...

global___ListProjectResponse = ListProjectResponse

@typing_extensions.final
class CreateProjectRequest(google.protobuf.message.Message):
    """创建项目请求"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    name: builtins.str
    """项目名称"""
    description: builtins.str
    """项目描述"""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        description: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["description", b"description", "name", b"name"]
    ) -> None: ...

global___CreateProjectRequest = CreateProjectRequest

@typing_extensions.final
class UpdateProjectRequest(google.protobuf.message.Message):
    """修改项目请求"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    id: builtins.str
    """项目 ID"""
    name: builtins.str
    """项目名称"""
    description: builtins.str
    """项目描述"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        description: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["description", b"description", "id", b"id", "name", b"name"]
    ) -> None: ...

global___UpdateProjectRequest = UpdateProjectRequest

@typing_extensions.final
class CheckUserJoinedProjectRequest(google.protobuf.message.Message):
    """检查用户是否加入项目请求"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROJECT_ID_FIELD_NUMBER: builtins.int
    USER_ID_FIELD_NUMBER: builtins.int
    project_id: builtins.str
    """项目 ID"""
    user_id: builtins.str
    """用户 ID"""
    def __init__(
        self,
        *,
        project_id: builtins.str = ...,
        user_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing_extensions.Literal["project_id", b"project_id", "user_id", b"user_id"]
    ) -> None: ...

global___CheckUserJoinedProjectRequest = CheckUserJoinedProjectRequest
