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

import builtins
import google.protobuf.descriptor
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

@typing.final
class GenericOpExecuted(google.protobuf.message.Message):
    """Note: These events are for operations whose API is not yet stabilized.
    They provide a generic progress tracking mechanism that can be used
    by various commands without requiring dedicated structured events.

    An event used for spans that represent the execution of an operation
    that doesn't have a stable API and/or dedicated event type with
    structured fields yet.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OPERATION_ID_FIELD_NUMBER: builtins.int
    DISPLAY_ACTION_FIELD_NUMBER: builtins.int
    ITEM_COUNT_TOTAL_FIELD_NUMBER: builtins.int
    operation_id: builtins.str
    """Identifier for this operation type (e.g., "format", "lint")
    Used as unique ID for associating child items
    """
    display_action: builtins.str
    """Display action text in lowercase (e.g., "formatting", "linting").

    Note: this may be capitalized when rendered and/or combined with
    other text (e.g., "Started formatting 3 items...")
    """
    item_count_total: builtins.int
    """Total count of items (enables progress bar if > 0, otherwise spinner)"""
    def __init__(
        self,
        *,
        operation_id: builtins.str = ...,
        display_action: builtins.str = ...,
        item_count_total: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["_item_count_total", b"_item_count_total", "item_count_total", b"item_count_total"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["_item_count_total", b"_item_count_total", "display_action", b"display_action", "item_count_total", b"item_count_total", "operation_id", b"operation_id"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["_item_count_total", b"_item_count_total"]) -> typing.Literal["item_count_total"] | None: ...

Global___GenericOpExecuted: typing_extensions.TypeAlias = GenericOpExecuted

@typing.final
class GenericOpItemProcessed(google.protobuf.message.Message):
    """An event used for spans emitted for each item processed as part of a
    GenericOpExecuted operation.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    OPERATION_ID_FIELD_NUMBER: builtins.int
    DISPLAY_IN_PROGRESS_ACTION_FIELD_NUMBER: builtins.int
    DISPLAY_ON_SUCCESS_ACTION_FIELD_NUMBER: builtins.int
    TARGET_FIELD_NUMBER: builtins.int
    operation_id: builtins.str
    """Must match the parent GenericOpExecuted.operation_id
    Used to look up UID from the global mapping
    """
    display_in_progress_action: builtins.str
    """Action text in lowercase (e.g., "formatting", "linting").
    for in-progress display.

    Note: this may be capitalized when rendered and/or combined with
    other text (e.g., "Started formatting {target}")
    """
    display_on_success_action: builtins.str
    """Action text in lowercase (e.g., "formatted", "linted").
    for on-success display.

    Note: this may be capitalized when rendered and/or combined with
    other text (e.g., "Formatted {target}")
    """
    target: builtins.str
    """Display name shown in progress bar context (e.g., file path)"""
    def __init__(
        self,
        *,
        operation_id: builtins.str = ...,
        display_in_progress_action: builtins.str = ...,
        display_on_success_action: builtins.str = ...,
        target: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["display_in_progress_action", b"display_in_progress_action", "display_on_success_action", b"display_on_success_action", "operation_id", b"operation_id", "target", b"target"]) -> None: ...

Global___GenericOpItemProcessed: typing_extensions.TypeAlias = GenericOpItemProcessed
