"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.duration_pb2
import google.protobuf.message
import prodvana.proto.prodvana.common_config.notification_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class Notification(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CONFIG_OVERRIDE_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    @property
    def config_override(self) -> prodvana.proto.prodvana.common_config.notification_pb2.NotificationConfig:
        """will default to application's notification config"""
    message: builtins.str
    def __init__(
        self,
        *,
        config_override: prodvana.proto.prodvana.common_config.notification_pb2.NotificationConfig | None = ...,
        message: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["config_override", b"config_override"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["config_override", b"config_override", "message", b"message"]) -> None: ...

global___Notification = Notification

class RetryConfig(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MAX_RETRY_DURATION_FIELD_NUMBER: builtins.int
    RETRY_FOREVER_FIELD_NUMBER: builtins.int
    FIRST_FAILURE_NOTIFICATION_FIELD_NUMBER: builtins.int
    @property
    def max_retry_duration(self) -> google.protobuf.duration_pb2.Duration: ...
    retry_forever: builtins.bool
    @property
    def first_failure_notification(self) -> global___Notification: ...
    def __init__(
        self,
        *,
        max_retry_duration: google.protobuf.duration_pb2.Duration | None = ...,
        retry_forever: builtins.bool = ...,
        first_failure_notification: global___Notification | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["first_failure_notification", b"first_failure_notification", "limit", b"limit", "max_retry_duration", b"max_retry_duration", "retry_forever", b"retry_forever"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["first_failure_notification", b"first_failure_notification", "limit", b"limit", "max_retry_duration", b"max_retry_duration", "retry_forever", b"retry_forever"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["limit", b"limit"]) -> typing_extensions.Literal["max_retry_duration", "retry_forever"] | None: ...

global___RetryConfig = RetryConfig
