"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.struct_pb2
import google.protobuf.timestamp_pb2
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class Project(google.protobuf.message.Message):
    """
    Project level messages

    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    TOTAL_RUNS_FIELD_NUMBER: builtins.int
    TOTAL_SERVINGS_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    UPDATED_AT_FIELD_NUMBER: builtins.int
    RELIC_ID_FIELD_NUMBER: builtins.int
    UPDATE_KEYS_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    RUNS_COUNTER_FIELD_NUMBER: builtins.int
    LIVE_COUNTER_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    """the workspace this is part of"""

    id: typing.Text
    """the unique ID for this project"""

    name: typing.Text
    """the usermodifiable name of the project"""

    total_runs: builtins.int
    """the total number of experiments in this project"""

    total_servings: builtins.int
    """the total number of live deployments in this project"""

    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """the time when this project was created"""
        pass
    @property
    def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """the time when this project was created"""
        pass
    relic_id: typing.Text
    """the relic ID for this project"""

    @property
    def update_keys(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
        """the list of update keys for this project"""
        pass
    @property
    def metadata(self) -> google.protobuf.struct_pb2.Struct:
        """the metadata for this project"""
        pass
    runs_counter: builtins.int
    """currently active runs"""

    live_counter: builtins.int
    """currently active live deployments"""

    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        id: typing.Text = ...,
        name: typing.Text = ...,
        total_runs: builtins.int = ...,
        total_servings: builtins.int = ...,
        created_at: typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        updated_at: typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        relic_id: typing.Text = ...,
        update_keys: typing.Optional[typing.Iterable[typing.Text]] = ...,
        metadata: typing.Optional[google.protobuf.struct_pb2.Struct] = ...,
        runs_counter: builtins.int = ...,
        live_counter: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_at",b"created_at","metadata",b"metadata","updated_at",b"updated_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_at",b"created_at","id",b"id","live_counter",b"live_counter","metadata",b"metadata","name",b"name","relic_id",b"relic_id","runs_counter",b"runs_counter","total_runs",b"total_runs","total_servings",b"total_servings","update_keys",b"update_keys","updated_at",b"updated_at","workspace_id",b"workspace_id"]) -> None: ...
global___Project = Project

class InitProjectRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    """the workspace this LMAO project is part of"""

    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["workspace_id",b"workspace_id"]) -> None: ...
global___InitProjectRequest = InitProjectRequest

class InitProjectResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    RELIC_ID_FIELD_NUMBER: builtins.int
    RELIC_NAME_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    id: typing.Text
    relic_id: typing.Text
    relic_name: typing.Text
    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        id: typing.Text = ...,
        relic_id: typing.Text = ...,
        relic_name: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["id",b"id","relic_id",b"relic_id","relic_name",b"relic_name","workspace_id",b"workspace_id"]) -> None: ...
global___InitProjectResponse = InitProjectResponse

class ListProjectsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    WORKSPACE_ID_FIELD_NUMBER: builtins.int
    PROJECT_ID_OR_NAME_FIELD_NUMBER: builtins.int
    OFFSET_FIELD_NUMBER: builtins.int
    LIMIT_FIELD_NUMBER: builtins.int
    CREATED_AFTER_FIELD_NUMBER: builtins.int
    CREATED_BEFORE_FIELD_NUMBER: builtins.int
    UPDATED_AFTER_FIELD_NUMBER: builtins.int
    UPDATED_BEFORE_FIELD_NUMBER: builtins.int
    workspace_id: typing.Text
    """the workspace this is part of"""

    project_id_or_name: typing.Text
    """used specifically for searching, if empty, it will return all the projects"""

    offset: builtins.int
    """the offset for pagination"""

    limit: builtins.int
    """the limit for pagination"""

    @property
    def created_after(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """the time after which the project was created"""
        pass
    @property
    def created_before(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """the time before which the project was created"""
        pass
    @property
    def updated_after(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """the time after which the project was updated"""
        pass
    @property
    def updated_before(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """the time before which the project was updated"""
        pass
    def __init__(self,
        *,
        workspace_id: typing.Text = ...,
        project_id_or_name: typing.Text = ...,
        offset: builtins.int = ...,
        limit: builtins.int = ...,
        created_after: typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        created_before: typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        updated_after: typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        updated_before: typing.Optional[google.protobuf.timestamp_pb2.Timestamp] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["created_after",b"created_after","created_before",b"created_before","updated_after",b"updated_after","updated_before",b"updated_before"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["created_after",b"created_after","created_before",b"created_before","limit",b"limit","offset",b"offset","project_id_or_name",b"project_id_or_name","updated_after",b"updated_after","updated_before",b"updated_before","workspace_id",b"workspace_id"]) -> None: ...
global___ListProjectsRequest = ListProjectsRequest

class ListProjectsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROJECTS_FIELD_NUMBER: builtins.int
    @property
    def projects(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Project]:
        """the list of projects in this workspace"""
        pass
    def __init__(self,
        *,
        projects: typing.Optional[typing.Iterable[global___Project]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["projects",b"projects"]) -> None: ...
global___ListProjectsResponse = ListProjectsResponse
