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

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
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 _ShowDataOutputFormat:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ShowDataOutputFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ShowDataOutputFormat.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    SHOW_DATA_OUTPUT_FORMAT_UNSPECIFIED: _ShowDataOutputFormat.ValueType  # 0
    SHOW_DATA_OUTPUT_FORMAT_TEXT: _ShowDataOutputFormat.ValueType  # 1
    SHOW_DATA_OUTPUT_FORMAT_CSV: _ShowDataOutputFormat.ValueType  # 2
    SHOW_DATA_OUTPUT_FORMAT_TSV: _ShowDataOutputFormat.ValueType  # 3
    SHOW_DATA_OUTPUT_FORMAT_JSON: _ShowDataOutputFormat.ValueType  # 4
    SHOW_DATA_OUTPUT_FORMAT_NDJSON: _ShowDataOutputFormat.ValueType  # 5
    SHOW_DATA_OUTPUT_FORMAT_YML: _ShowDataOutputFormat.ValueType  # 6

class ShowDataOutputFormat(_ShowDataOutputFormat, metaclass=_ShowDataOutputFormatEnumTypeWrapper):
    """Output format for list command"""

SHOW_DATA_OUTPUT_FORMAT_UNSPECIFIED: ShowDataOutputFormat.ValueType  # 0
SHOW_DATA_OUTPUT_FORMAT_TEXT: ShowDataOutputFormat.ValueType  # 1
SHOW_DATA_OUTPUT_FORMAT_CSV: ShowDataOutputFormat.ValueType  # 2
SHOW_DATA_OUTPUT_FORMAT_TSV: ShowDataOutputFormat.ValueType  # 3
SHOW_DATA_OUTPUT_FORMAT_JSON: ShowDataOutputFormat.ValueType  # 4
SHOW_DATA_OUTPUT_FORMAT_NDJSON: ShowDataOutputFormat.ValueType  # 5
SHOW_DATA_OUTPUT_FORMAT_YML: ShowDataOutputFormat.ValueType  # 6
Global___ShowDataOutputFormat: typing_extensions.TypeAlias = ShowDataOutputFormat

@typing.final
class ShowDataOutput(google.protobuf.message.Message):
    """Event emitted when displaying inline data (e.g., from show command).
    This event replaces the dbt-core ShowNode event (Q041) for inline data display.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OUTPUT_FORMAT_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    NODE_NAME_FIELD_NUMBER: builtins.int
    IS_INLINE_FIELD_NUMBER: builtins.int
    UNIQUE_ID_FIELD_NUMBER: builtins.int
    COLUMNS_FIELD_NUMBER: builtins.int
    DBT_CORE_EVENT_CODE_FIELD_NUMBER: builtins.int
    output_format: Global___ShowDataOutputFormat.ValueType
    """Format of the output"""
    content: builtins.str
    """The data in the specified format (e.g., pretty-printed table)"""
    node_name: builtins.str
    """Name of the node being shown (e.g., "my_model" or "inline")"""
    is_inline: builtins.bool
    """Whether this is an inline/ad-hoc query (true) or a defined node (false)"""
    unique_id: builtins.str
    """The unique_id of the node being shown (e.g., "model.my_project.my_model").
    Unset for ad-hoc queries
    """
    dbt_core_event_code: builtins.str
    """Legacy dbt core event code for backward compatibility (always "Q041")"""
    @property
    def columns(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """Column names for the data"""

    def __init__(
        self,
        *,
        output_format: Global___ShowDataOutputFormat.ValueType = ...,
        content: builtins.str = ...,
        node_name: builtins.str = ...,
        is_inline: builtins.bool = ...,
        unique_id: builtins.str | None = ...,
        columns: collections.abc.Iterable[builtins.str] | None = ...,
        dbt_core_event_code: builtins.str = ...,
    ) -> 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", "columns", b"columns", "content", b"content", "dbt_core_event_code", b"dbt_core_event_code", "is_inline", b"is_inline", "node_name", b"node_name", "output_format", b"output_format", "unique_id", b"unique_id"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_unique_id", b"_unique_id"]) -> typing.Literal["unique_id"] | None: ...

Global___ShowDataOutput: typing_extensions.TypeAlias = ShowDataOutput
