"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import qwak.automation.v1.common_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    SCHEDULED_TRIGGER_FIELD_NUMBER: builtins.int
    METRIC_BASED_TRIGGER_FIELD_NUMBER: builtins.int
    NONE_TRIGGER_FIELD_NUMBER: builtins.int
    ON_BOARDING_TRIGGER_FIELD_NUMBER: builtins.int
    @property
    def scheduled_trigger(self) -> global___ScheduledTrigger: ...
    @property
    def metric_based_trigger(self) -> global___MetricBasedTrigger: ...
    @property
    def none_trigger(self) -> global___NoneTrigger: ...
    @property
    def on_boarding_trigger(self) -> global___OnBoardingTrigger: ...
    def __init__(
        self,
        *,
        scheduled_trigger: global___ScheduledTrigger | None = ...,
        metric_based_trigger: global___MetricBasedTrigger | None = ...,
        none_trigger: global___NoneTrigger | None = ...,
        on_boarding_trigger: global___OnBoardingTrigger | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metric_based_trigger", b"metric_based_trigger", "none_trigger", b"none_trigger", "on_boarding_trigger", b"on_boarding_trigger", "scheduled_trigger", b"scheduled_trigger", "trigger", b"trigger"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["metric_based_trigger", b"metric_based_trigger", "none_trigger", b"none_trigger", "on_boarding_trigger", b"on_boarding_trigger", "scheduled_trigger", b"scheduled_trigger", "trigger", b"trigger"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["trigger", b"trigger"]) -> typing_extensions.Literal["scheduled_trigger", "metric_based_trigger", "none_trigger", "on_boarding_trigger"] | None: ...

global___Trigger = Trigger

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

    CRON_FIELD_NUMBER: builtins.int
    INTERVAL_FIELD_NUMBER: builtins.int
    cron: builtins.str
    """Cron defined schedule"""
    interval: builtins.str
    """Cron interval schedule"""
    def __init__(
        self,
        *,
        cron: builtins.str = ...,
        interval: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["cron", b"cron", "interval", b"interval", "schedule", b"schedule"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cron", b"cron", "interval", b"interval", "schedule", b"schedule"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["schedule", b"schedule"]) -> typing_extensions.Literal["cron", "interval"] | None: ...

global___ScheduledTrigger = ScheduledTrigger

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

    NAME_FIELD_NUMBER: builtins.int
    METRIC_FIELD_NUMBER: builtins.int
    THRESHOLD_DIRECTION_FIELD_NUMBER: builtins.int
    THRESHOLD_FIELD_NUMBER: builtins.int
    OVERRIDE_CRON_FIELD_NUMBER: builtins.int
    name: builtins.str
    @property
    def metric(self) -> qwak.automation.v1.common_pb2.Metric: ...
    threshold_direction: qwak.automation.v1.common_pb2.MetricThresholdDirection.ValueType
    threshold: builtins.str
    override_cron: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        metric: qwak.automation.v1.common_pb2.Metric | None = ...,
        threshold_direction: qwak.automation.v1.common_pb2.MetricThresholdDirection.ValueType = ...,
        threshold: builtins.str = ...,
        override_cron: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["metric", b"metric"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["metric", b"metric", "name", b"name", "override_cron", b"override_cron", "threshold", b"threshold", "threshold_direction", b"threshold_direction"]) -> None: ...

global___MetricBasedTrigger = MetricBasedTrigger

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

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

global___NoneTrigger = NoneTrigger

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

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

global___OnBoardingTrigger = OnBoardingTrigger
