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

import builtins
import collections.abc
import sys

import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_pb2

import temporalio.api.enums.v1.common_pb2

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class ReleaseInfo(google.protobuf.message.Message):
    """ReleaseInfo contains information about specific version of temporal."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VERSION_FIELD_NUMBER: builtins.int
    RELEASE_TIME_FIELD_NUMBER: builtins.int
    NOTES_FIELD_NUMBER: builtins.int
    version: builtins.str
    @property
    def release_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    notes: builtins.str
    def __init__(
        self,
        *,
        version: builtins.str = ...,
        release_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        notes: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing_extensions.Literal["release_time", b"release_time"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "notes", b"notes", "release_time", b"release_time", "version", b"version"
        ],
    ) -> None: ...

global___ReleaseInfo = ReleaseInfo

class Alert(google.protobuf.message.Message):
    """Alert contains notification and severity."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MESSAGE_FIELD_NUMBER: builtins.int
    SEVERITY_FIELD_NUMBER: builtins.int
    message: builtins.str
    severity: temporalio.api.enums.v1.common_pb2.Severity.ValueType
    def __init__(
        self,
        *,
        message: builtins.str = ...,
        severity: temporalio.api.enums.v1.common_pb2.Severity.ValueType = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "message", b"message", "severity", b"severity"
        ],
    ) -> None: ...

global___Alert = Alert

class VersionInfo(google.protobuf.message.Message):
    """VersionInfo contains details about current and recommended release versions as well as alerts and upgrade instructions."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CURRENT_FIELD_NUMBER: builtins.int
    RECOMMENDED_FIELD_NUMBER: builtins.int
    INSTRUCTIONS_FIELD_NUMBER: builtins.int
    ALERTS_FIELD_NUMBER: builtins.int
    LAST_UPDATE_TIME_FIELD_NUMBER: builtins.int
    @property
    def current(self) -> global___ReleaseInfo: ...
    @property
    def recommended(self) -> global___ReleaseInfo: ...
    instructions: builtins.str
    @property
    def alerts(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___Alert
    ]: ...
    @property
    def last_update_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        current: global___ReleaseInfo | None = ...,
        recommended: global___ReleaseInfo | None = ...,
        instructions: builtins.str = ...,
        alerts: collections.abc.Iterable[global___Alert] | None = ...,
        last_update_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing_extensions.Literal[
            "current",
            b"current",
            "last_update_time",
            b"last_update_time",
            "recommended",
            b"recommended",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing_extensions.Literal[
            "alerts",
            b"alerts",
            "current",
            b"current",
            "instructions",
            b"instructions",
            "last_update_time",
            b"last_update_time",
            "recommended",
            b"recommended",
        ],
    ) -> None: ...

global___VersionInfo = VersionInfo
