"""
@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 google.protobuf.timestamp_pb2
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 MaintenanceWindow(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ANYTIME_FIELD_NUMBER: builtins.int
    WEEKLY_MAINTENANCE_WINDOW_FIELD_NUMBER: builtins.int
    @property
    def anytime(self) -> global___AnytimeMaintenanceWindow: ...
    @property
    def weekly_maintenance_window(self) -> global___WeeklyMaintenanceWindow: ...
    def __init__(
        self,
        *,
        anytime: global___AnytimeMaintenanceWindow | None = ...,
        weekly_maintenance_window: global___WeeklyMaintenanceWindow | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["anytime", b"anytime", "policy", b"policy", "weekly_maintenance_window", b"weekly_maintenance_window"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["anytime", b"anytime", "policy", b"policy", "weekly_maintenance_window", b"weekly_maintenance_window"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["policy", b"policy"]) -> typing.Literal["anytime", "weekly_maintenance_window"] | None: ...

global___MaintenanceWindow = MaintenanceWindow

@typing.final
class AnytimeMaintenanceWindow(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(
        self,
    ) -> None: ...

global___AnytimeMaintenanceWindow = AnytimeMaintenanceWindow

@typing.final
class WeeklyMaintenanceWindow(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _WeekDay:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _WeekDayEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[WeeklyMaintenanceWindow._WeekDay.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        WEEK_DAY_UNSPECIFIED: WeeklyMaintenanceWindow._WeekDay.ValueType  # 0
        MON: WeeklyMaintenanceWindow._WeekDay.ValueType  # 1
        TUE: WeeklyMaintenanceWindow._WeekDay.ValueType  # 2
        WED: WeeklyMaintenanceWindow._WeekDay.ValueType  # 3
        THU: WeeklyMaintenanceWindow._WeekDay.ValueType  # 4
        FRI: WeeklyMaintenanceWindow._WeekDay.ValueType  # 5
        SAT: WeeklyMaintenanceWindow._WeekDay.ValueType  # 6
        SUN: WeeklyMaintenanceWindow._WeekDay.ValueType  # 7

    class WeekDay(_WeekDay, metaclass=_WeekDayEnumTypeWrapper): ...
    WEEK_DAY_UNSPECIFIED: WeeklyMaintenanceWindow.WeekDay.ValueType  # 0
    MON: WeeklyMaintenanceWindow.WeekDay.ValueType  # 1
    TUE: WeeklyMaintenanceWindow.WeekDay.ValueType  # 2
    WED: WeeklyMaintenanceWindow.WeekDay.ValueType  # 3
    THU: WeeklyMaintenanceWindow.WeekDay.ValueType  # 4
    FRI: WeeklyMaintenanceWindow.WeekDay.ValueType  # 5
    SAT: WeeklyMaintenanceWindow.WeekDay.ValueType  # 6
    SUN: WeeklyMaintenanceWindow.WeekDay.ValueType  # 7

    DAY_FIELD_NUMBER: builtins.int
    HOUR_FIELD_NUMBER: builtins.int
    day: global___WeeklyMaintenanceWindow.WeekDay.ValueType
    hour: builtins.int
    """Hour of the day in UTC."""
    def __init__(
        self,
        *,
        day: global___WeeklyMaintenanceWindow.WeekDay.ValueType = ...,
        hour: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["day", b"day", "hour", b"hour"]) -> None: ...

global___WeeklyMaintenanceWindow = WeeklyMaintenanceWindow

@typing.final
class MaintenanceOperation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    INFO_FIELD_NUMBER: builtins.int
    DELAYED_UNTIL_FIELD_NUMBER: builtins.int
    LATEST_MAINTENANCE_TIME_FIELD_NUMBER: builtins.int
    NEXT_MAINTENANCE_WINDOW_TIME_FIELD_NUMBER: builtins.int
    info: builtins.str
    @property
    def delayed_until(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def latest_maintenance_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def next_maintenance_window_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        info: builtins.str = ...,
        delayed_until: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        latest_maintenance_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        next_maintenance_window_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["delayed_until", b"delayed_until", "latest_maintenance_time", b"latest_maintenance_time", "next_maintenance_window_time", b"next_maintenance_window_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["delayed_until", b"delayed_until", "info", b"info", "latest_maintenance_time", b"latest_maintenance_time", "next_maintenance_window_time", b"next_maintenance_window_time"]) -> None: ...

global___MaintenanceOperation = MaintenanceOperation
