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

class _ShowResultOutputFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ShowResultOutputFormat.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    SHOW_RESULT_OUTPUT_FORMAT_UNSPECIFIED: _ShowResultOutputFormat.ValueType  # 0
    SHOW_RESULT_OUTPUT_FORMAT_TEXT: _ShowResultOutputFormat.ValueType  # 1
    """Pretty-printed text format suitable for terminal display."""

class ShowResultOutputFormat(_ShowResultOutputFormat, metaclass=_ShowResultOutputFormatEnumTypeWrapper):
    """Output format for ShowResult content."""

SHOW_RESULT_OUTPUT_FORMAT_UNSPECIFIED: ShowResultOutputFormat.ValueType  # 0
SHOW_RESULT_OUTPUT_FORMAT_TEXT: ShowResultOutputFormat.ValueType  # 1
"""Pretty-printed text format suitable for terminal display."""
Global___ShowResultOutputFormat: typing_extensions.TypeAlias = ShowResultOutputFormat

@typing.final
class ShowResult(google.protobuf.message.Message):
    """Event emitted when displaying verbose/diagnostic output controlled by --show flag.
    This includes internal structures like manifests, schedules, stats, task graphs, etc.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OUTPUT_FORMAT_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    RESULT_TYPE_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    UNIQUE_ID_FIELD_NUMBER: builtins.int
    output_format: Global___ShowResultOutputFormat.ValueType
    """Format of the output content."""
    content: builtins.str
    """The content to display in the specified format."""
    result_type: builtins.str
    """Type/category of the result being shown (e.g., "manifest", "schedule", "stats").
    This is expected to be a short identifier.
    """
    title: builtins.str
    """Title to display above the content. This should NOT include ANSI color codes -
    coloring is applied by the output layers.
    """
    unique_id: builtins.str
    """The unique_id of the node for which information is being shown, if applicable.
    Unset for non-node-specific results like manifest or schedule.
    """
    def __init__(
        self,
        *,
        output_format: Global___ShowResultOutputFormat.ValueType = ...,
        content: builtins.str = ...,
        result_type: builtins.str = ...,
        title: builtins.str = ...,
        unique_id: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_unique_id", b"_unique_id", "unique_id", b"unique_id"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_unique_id", b"_unique_id", "content", b"content", "output_format", b"output_format", "result_type", b"result_type", "title", b"title", "unique_id", b"unique_id"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_unique_id", b"_unique_id"]) -> typing.Literal["unique_id"] | None: ...

Global___ShowResult: typing_extensions.TypeAlias = ShowResult
