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

import builtins
import google.protobuf.descriptor
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class InitRequest(google.protobuf.message.Message):
    """Request to initialize and check version."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOOL_NAME_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    tool_name: builtins.str
    """Tool name to check."""
    version: builtins.str
    """Version to check."""
    def __init__(
        self,
        *,
        tool_name: builtins.str = ...,
        version: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["tool_name", b"tool_name", "version", b"version"]) -> None: ...

global___InitRequest = InitRequest

@typing.final
class InitResponse(google.protobuf.message.Message):
    """Response for initialization.
    Blocked versions return FAILED_PRECONDITION error instead.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing.final
    class DeprecationWarning(google.protobuf.message.Message):
        """Warning details for versions being phased out."""

        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        REASON_FIELD_NUMBER: builtins.int
        reason: builtins.str
        """Reason why the version is being phased out."""
        def __init__(
            self,
            *,
            reason: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["reason", b"reason"]) -> None: ...

    DEPRECATION_WARNING_FIELD_NUMBER: builtins.int
    @property
    def deprecation_warning(self) -> global___InitResponse.DeprecationWarning:
        """Warning information for versions being phased out."""

    def __init__(
        self,
        *,
        deprecation_warning: global___InitResponse.DeprecationWarning | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["deprecation_warning", b"deprecation_warning"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["deprecation_warning", b"deprecation_warning"]) -> None: ...

global___InitResponse = InitResponse
