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

import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _ArtifactTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ArtifactType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    ARTIFACT_TYPE_UNSPECIFIED: _ArtifactType.ValueType  # 0
    ARTIFACT_TYPE_MANIFEST: _ArtifactType.ValueType  # 1
    ARTIFACT_TYPE_SEMANTIC_MANIFEST: _ArtifactType.ValueType  # 2
    ARTIFACT_TYPE_CATALOG: _ArtifactType.ValueType  # 3
    ARTIFACT_TYPE_SOURCES: _ArtifactType.ValueType  # 4

class ArtifactType(_ArtifactType, metaclass=_ArtifactTypeEnumTypeWrapper):
    """Known artifact types written by dbt"""

ARTIFACT_TYPE_UNSPECIFIED: ArtifactType.ValueType  # 0
ARTIFACT_TYPE_MANIFEST: ArtifactType.ValueType  # 1
ARTIFACT_TYPE_SEMANTIC_MANIFEST: ArtifactType.ValueType  # 2
ARTIFACT_TYPE_CATALOG: ArtifactType.ValueType  # 3
ARTIFACT_TYPE_SOURCES: ArtifactType.ValueType  # 4
Global___ArtifactType: typing_extensions.TypeAlias = ArtifactType

@typing.final
class ArtifactWritten(google.protobuf.message.Message):
    """Event emitted when an artifact is written to disk."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RELATIVE_PATH_FIELD_NUMBER: builtins.int
    ARTIFACT_TYPE_FIELD_NUMBER: builtins.int
    relative_path: builtins.str
    """The path to the artifact relative to the project root."""
    artifact_type: Global___ArtifactType.ValueType
    """Type of the artifact written."""
    def __init__(
        self,
        *,
        relative_path: builtins.str = ...,
        artifact_type: Global___ArtifactType.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["artifact_type", b"artifact_type", "relative_path", b"relative_path"]) -> None: ...

Global___ArtifactWritten: typing_extensions.TypeAlias = ArtifactWritten
