"""
@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 _PackageType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _PackageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PackageType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    PACKAGE_TYPE_UNSPECIFIED: _PackageType.ValueType  # 0
    PACKAGE_TYPE_HUB: _PackageType.ValueType  # 1
    PACKAGE_TYPE_GIT: _PackageType.ValueType  # 2
    PACKAGE_TYPE_LOCAL: _PackageType.ValueType  # 3
    PACKAGE_TYPE_PRIVATE: _PackageType.ValueType  # 4
    PACKAGE_TYPE_TARBALL: _PackageType.ValueType  # 5

class PackageType(_PackageType, metaclass=_PackageTypeEnumTypeWrapper):
    """Type of package source"""

PACKAGE_TYPE_UNSPECIFIED: PackageType.ValueType  # 0
PACKAGE_TYPE_HUB: PackageType.ValueType  # 1
PACKAGE_TYPE_GIT: PackageType.ValueType  # 2
PACKAGE_TYPE_LOCAL: PackageType.ValueType  # 3
PACKAGE_TYPE_PRIVATE: PackageType.ValueType  # 4
PACKAGE_TYPE_TARBALL: PackageType.ValueType  # 5
Global___PackageType: typing_extensions.TypeAlias = PackageType

@typing.final
class DepsAddPackage(google.protobuf.message.Message):
    """Span emitted for each individual `deps add` call.
    This corresponds to dbt-core's `DepsAddPackage` (M032) event.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PACKAGE_NAME_FIELD_NUMBER: builtins.int
    PACKAGE_TYPE_FIELD_NUMBER: builtins.int
    PACKAGE_VERSION_FIELD_NUMBER: builtins.int
    DBT_CORE_EVENT_CODE_FIELD_NUMBER: builtins.int
    package_name: builtins.str
    """The name of the package that was installed"""
    package_type: Global___PackageType.ValueType
    """The type of the package source"""
    package_version: builtins.str
    """Optional version of the package (for hub packages, this is semantic version; for git/private, this is commit SHA)"""
    dbt_core_event_code: builtins.str
    """Legacy dbt core event code for backward compatibility (always "M032")"""
    def __init__(
        self,
        *,
        package_name: builtins.str = ...,
        package_type: Global___PackageType.ValueType = ...,
        package_version: builtins.str | None = ...,
        dbt_core_event_code: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_package_version", b"_package_version", "package_version", b"package_version"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_package_version", b"_package_version", "dbt_core_event_code", b"dbt_core_event_code", "package_name", b"package_name", "package_type", b"package_type", "package_version", b"package_version"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_package_version", b"_package_version"]) -> typing.Literal["package_version"] | None: ...

Global___DepsAddPackage: typing_extensions.TypeAlias = DepsAddPackage

@typing.final
class DepsPackageInstalled(google.protobuf.message.Message):
    """Span emitted for each individual package installation during the deps command.
    This corresponds to dbt-core's `DepsStartPackageInstall` (M014) &
    `DepsInstallInfo` (M015) event for span start and end respectively.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PACKAGE_NAME_FIELD_NUMBER: builtins.int
    PACKAGE_TYPE_FIELD_NUMBER: builtins.int
    PACKAGE_VERSION_FIELD_NUMBER: builtins.int
    PACKAGE_URL_OR_PATH_FIELD_NUMBER: builtins.int
    DBT_CORE_EVENT_CODE_FIELD_NUMBER: builtins.int
    package_name: builtins.str
    """The name of the package that was installed. The name may not be known at span start."""
    package_type: Global___PackageType.ValueType
    """The type of the package source"""
    package_version: builtins.str
    """Optional version of the package (for hub packages, this is semantic version; for git/private, this is commit SHA)"""
    package_url_or_path: builtins.str
    """Optional scrubbed URL or path (for git, local, tarball packages)"""
    dbt_core_event_code: builtins.str
    """Legacy dbt core event code for backward compatibility ("M014" for start, "M015" for end)"""
    def __init__(
        self,
        *,
        package_name: builtins.str | None = ...,
        package_type: Global___PackageType.ValueType = ...,
        package_version: builtins.str | None = ...,
        package_url_or_path: builtins.str | None = ...,
        dbt_core_event_code: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_package_name", b"_package_name", "_package_url_or_path", b"_package_url_or_path", "_package_version", b"_package_version", "package_name", b"package_name", "package_url_or_path", b"package_url_or_path", "package_version", b"package_version"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_package_name", b"_package_name", "_package_url_or_path", b"_package_url_or_path", "_package_version", b"_package_version", "dbt_core_event_code", b"dbt_core_event_code", "package_name", b"package_name", "package_type", b"package_type", "package_url_or_path", b"package_url_or_path", "package_version", b"package_version"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_package_name", b"_package_name"]) -> typing.Literal["package_name"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_package_url_or_path", b"_package_url_or_path"]) -> typing.Literal["package_url_or_path"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing.Literal["_package_version", b"_package_version"]) -> typing.Literal["package_version"] | None: ...

Global___DepsPackageInstalled: typing_extensions.TypeAlias = DepsPackageInstalled

@typing.final
class DepsAllPackagesInstalled(google.protobuf.message.Message):
    """Span emitted for the entire project dependencies installation process.
    This is the parent span that encompasses all individual `DepsPackageInstalled` spans.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PACKAGE_COUNT_FIELD_NUMBER: builtins.int
    package_count: builtins.int
    """Total number of packages to be installed"""
    def __init__(
        self,
        *,
        package_count: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["package_count", b"package_count"]) -> None: ...

Global___DepsAllPackagesInstalled: typing_extensions.TypeAlias = DepsAllPackagesInstalled
