"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import qwak.feature_store.v1.common.jfrog_artifact.jfrog_artifact_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class SourceCodeSpec(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ARTIFACT_FIELD_NUMBER: builtins.int
    @property
    def artifact(self) -> global___SourceCodeArtifact: ...
    def __init__(
        self,
        *,
        artifact: global___SourceCodeArtifact | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["artifact", b"artifact"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["artifact", b"artifact"]) -> None: ...

global___SourceCodeSpec = SourceCodeSpec

class SourceCodeArtifact(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ZIP_ARTIFACT_FIELD_NUMBER: builtins.int
    @property
    def zip_artifact(self) -> global___ZipArtifact: ...
    def __init__(
        self,
        *,
        zip_artifact: global___ZipArtifact | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["type", b"type", "zip_artifact", b"zip_artifact"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["type", b"type", "zip_artifact", b"zip_artifact"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["type", b"type"]) -> typing_extensions.Literal["zip_artifact"] | None: ...

global___SourceCodeArtifact = SourceCodeArtifact

class ZipArtifact(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PATH_FIELD_NUMBER: builtins.int
    JFROG_ARTIFACT_PATH_FIELD_NUMBER: builtins.int
    MAIN_FILE_FIELD_NUMBER: builtins.int
    path: builtins.str
    """Path to artifact, used by Qwak users e.g: s3://some-bucket/file.zip"""
    @property
    def jfrog_artifact_path(self) -> qwak.feature_store.v1.common.jfrog_artifact.jfrog_artifact_pb2.JfrogArtifact:
        """Path to the artifact stored in Artifactory"""
    main_file: builtins.str
    """Relative path inside the zip, e.g:
    the file the featureset is defined
    """
    def __init__(
        self,
        *,
        path: builtins.str = ...,
        jfrog_artifact_path: qwak.feature_store.v1.common.jfrog_artifact.jfrog_artifact_pb2.JfrogArtifact | None = ...,
        main_file: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["jfrog_artifact_path", b"jfrog_artifact_path", "path", b"path", "path_type", b"path_type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["jfrog_artifact_path", b"jfrog_artifact_path", "main_file", b"main_file", "path", b"path", "path_type", b"path_type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["path_type", b"path_type"]) -> typing_extensions.Literal["path", "jfrog_artifact_path"] | None: ...

global___ZipArtifact = ZipArtifact
