"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import shared.shared_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class DetectorModelPayload(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CONTENT_EXPRESSION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    content_expression: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        content_expression: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["content_expression", b"content_expression", "resource_info", b"resource_info"]) -> None: ...

global___DetectorModelPayload = DetectorModelPayload

@typing_extensions.final
class DetectorModelIotEvents(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    INPUT_NAME_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    input_name: builtins.str
    @property
    def payload(self) -> global___DetectorModelPayload: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        input_name: builtins.str = ...,
        payload: global___DetectorModelPayload | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["payload", b"payload", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["input_name", b"input_name", "payload", b"payload", "resource_info", b"resource_info"]) -> None: ...

global___DetectorModelIotEvents = DetectorModelIotEvents

@typing_extensions.final
class DetectorModelFirehose(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DELIVERY_STREAM_NAME_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_NUMBER: builtins.int
    SEPARATOR_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    delivery_stream_name: builtins.str
    @property
    def payload(self) -> global___DetectorModelPayload: ...
    separator: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        delivery_stream_name: builtins.str = ...,
        payload: global___DetectorModelPayload | None = ...,
        separator: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["payload", b"payload", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["delivery_stream_name", b"delivery_stream_name", "payload", b"payload", "resource_info", b"resource_info", "separator", b"separator"]) -> None: ...

global___DetectorModelFirehose = DetectorModelFirehose

@typing_extensions.final
class DetectorModelIotTopicPublish(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    MQTT_TOPIC_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    mqtt_topic: builtins.str
    @property
    def payload(self) -> global___DetectorModelPayload: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        mqtt_topic: builtins.str = ...,
        payload: global___DetectorModelPayload | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["payload", b"payload", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["mqtt_topic", b"mqtt_topic", "payload", b"payload", "resource_info", b"resource_info"]) -> None: ...

global___DetectorModelIotTopicPublish = DetectorModelIotTopicPublish

@typing_extensions.final
class DetectorModelDynamoDB(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TABLE_NAME_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_FIELD_NUMBER: builtins.int
    RANGE_KEY_FIELD_FIELD_NUMBER: builtins.int
    HASH_KEY_FIELD_FIELD_NUMBER: builtins.int
    RANGE_KEY_VALUE_FIELD_NUMBER: builtins.int
    RANGE_KEY_TYPE_FIELD_NUMBER: builtins.int
    HASH_KEY_TYPE_FIELD_NUMBER: builtins.int
    HASH_KEY_VALUE_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_NUMBER: builtins.int
    OPERATION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    table_name: builtins.str
    payload_field: builtins.str
    range_key_field: builtins.str
    hash_key_field: builtins.str
    range_key_value: builtins.str
    range_key_type: builtins.str
    hash_key_type: builtins.str
    hash_key_value: builtins.str
    @property
    def payload(self) -> global___DetectorModelPayload: ...
    operation: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        table_name: builtins.str = ...,
        payload_field: builtins.str = ...,
        range_key_field: builtins.str = ...,
        hash_key_field: builtins.str = ...,
        range_key_value: builtins.str = ...,
        range_key_type: builtins.str = ...,
        hash_key_type: builtins.str = ...,
        hash_key_value: builtins.str = ...,
        payload: global___DetectorModelPayload | None = ...,
        operation: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["payload", b"payload", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["hash_key_field", b"hash_key_field", "hash_key_type", b"hash_key_type", "hash_key_value", b"hash_key_value", "operation", b"operation", "payload", b"payload", "payload_field", b"payload_field", "range_key_field", b"range_key_field", "range_key_type", b"range_key_type", "range_key_value", b"range_key_value", "resource_info", b"resource_info", "table_name", b"table_name"]) -> None: ...

global___DetectorModelDynamoDB = DetectorModelDynamoDB

@typing_extensions.final
class DetectorModelDynamoDBv2(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TABLE_NAME_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    table_name: builtins.str
    @property
    def payload(self) -> global___DetectorModelPayload: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        table_name: builtins.str = ...,
        payload: global___DetectorModelPayload | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["payload", b"payload", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["payload", b"payload", "resource_info", b"resource_info", "table_name", b"table_name"]) -> None: ...

global___DetectorModelDynamoDBv2 = DetectorModelDynamoDBv2

@typing_extensions.final
class DetectorModelAssetPropertyVariant(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DOUBLE_VALUE_FIELD_NUMBER: builtins.int
    INTEGER_VALUE_FIELD_NUMBER: builtins.int
    BOOLEAN_VALUE_FIELD_NUMBER: builtins.int
    STRING_VALUE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    double_value: builtins.str
    integer_value: builtins.str
    boolean_value: builtins.str
    string_value: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        double_value: builtins.str = ...,
        integer_value: builtins.str = ...,
        boolean_value: builtins.str = ...,
        string_value: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["boolean_value", b"boolean_value", "double_value", b"double_value", "integer_value", b"integer_value", "resource_info", b"resource_info", "string_value", b"string_value"]) -> None: ...

global___DetectorModelAssetPropertyVariant = DetectorModelAssetPropertyVariant

@typing_extensions.final
class DetectorModelAssetPropertyTimestamp(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TIME_IN_SECONDS_FIELD_NUMBER: builtins.int
    OFFSET_IN_NANOS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    time_in_seconds: builtins.str
    offset_in_nanos: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        time_in_seconds: builtins.str = ...,
        offset_in_nanos: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["offset_in_nanos", b"offset_in_nanos", "resource_info", b"resource_info", "time_in_seconds", b"time_in_seconds"]) -> None: ...

global___DetectorModelAssetPropertyTimestamp = DetectorModelAssetPropertyTimestamp

@typing_extensions.final
class DetectorModelAssetPropertyValue(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    QUALITY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    quality: builtins.str
    @property
    def value(self) -> global___DetectorModelAssetPropertyVariant: ...
    @property
    def timestamp(self) -> global___DetectorModelAssetPropertyTimestamp: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        quality: builtins.str = ...,
        value: global___DetectorModelAssetPropertyVariant | None = ...,
        timestamp: global___DetectorModelAssetPropertyTimestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "timestamp", b"timestamp", "value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["quality", b"quality", "resource_info", b"resource_info", "timestamp", b"timestamp", "value", b"value"]) -> None: ...

global___DetectorModelAssetPropertyValue = DetectorModelAssetPropertyValue

@typing_extensions.final
class DetectorModelIotSiteWise(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ENTRY_ID_FIELD_NUMBER: builtins.int
    PROPERTY_ALIAS_FIELD_NUMBER: builtins.int
    PROPERTY_VALUE_FIELD_NUMBER: builtins.int
    ASSET_ID_FIELD_NUMBER: builtins.int
    PROPERTY_ID_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    entry_id: builtins.str
    property_alias: builtins.str
    @property
    def property_value(self) -> global___DetectorModelAssetPropertyValue: ...
    asset_id: builtins.str
    property_id: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        entry_id: builtins.str = ...,
        property_alias: builtins.str = ...,
        property_value: global___DetectorModelAssetPropertyValue | None = ...,
        asset_id: builtins.str = ...,
        property_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["property_value", b"property_value", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["asset_id", b"asset_id", "entry_id", b"entry_id", "property_alias", b"property_alias", "property_id", b"property_id", "property_value", b"property_value", "resource_info", b"resource_info"]) -> None: ...

global___DetectorModelIotSiteWise = DetectorModelIotSiteWise

@typing_extensions.final
class DetectorModelResetTimer(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TIMER_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    timer_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        timer_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "timer_name", b"timer_name"]) -> None: ...

global___DetectorModelResetTimer = DetectorModelResetTimer

@typing_extensions.final
class DetectorModelSqs(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    USE_BASE64_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_NUMBER: builtins.int
    QUEUE_URL_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    use_base64: builtins.bool
    @property
    def payload(self) -> global___DetectorModelPayload: ...
    queue_url: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        use_base64: builtins.bool = ...,
        payload: global___DetectorModelPayload | None = ...,
        queue_url: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["payload", b"payload", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["payload", b"payload", "queue_url", b"queue_url", "resource_info", b"resource_info", "use_base64", b"use_base64"]) -> None: ...

global___DetectorModelSqs = DetectorModelSqs

@typing_extensions.final
class DetectorModelSns(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TARGET_ARN_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    target_arn: builtins.str
    @property
    def payload(self) -> global___DetectorModelPayload: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        target_arn: builtins.str = ...,
        payload: global___DetectorModelPayload | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["payload", b"payload", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["payload", b"payload", "resource_info", b"resource_info", "target_arn", b"target_arn"]) -> None: ...

global___DetectorModelSns = DetectorModelSns

@typing_extensions.final
class DetectorModelSetTimer(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    SECONDS_FIELD_NUMBER: builtins.int
    TIMER_NAME_FIELD_NUMBER: builtins.int
    DURATION_EXPRESSION_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    seconds: builtins.int
    timer_name: builtins.str
    duration_expression: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        seconds: builtins.int = ...,
        timer_name: builtins.str = ...,
        duration_expression: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["duration_expression", b"duration_expression", "resource_info", b"resource_info", "seconds", b"seconds", "timer_name", b"timer_name"]) -> None: ...

global___DetectorModelSetTimer = DetectorModelSetTimer

@typing_extensions.final
class DetectorModelClearTimer(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    TIMER_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    timer_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        timer_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "timer_name", b"timer_name"]) -> None: ...

global___DetectorModelClearTimer = DetectorModelClearTimer

@typing_extensions.final
class DetectorModelLambda(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    FUNCTION_ARN_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    function_arn: builtins.str
    @property
    def payload(self) -> global___DetectorModelPayload: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        function_arn: builtins.str = ...,
        payload: global___DetectorModelPayload | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["payload", b"payload", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["function_arn", b"function_arn", "payload", b"payload", "resource_info", b"resource_info"]) -> None: ...

global___DetectorModelLambda = DetectorModelLambda

@typing_extensions.final
class DetectorModelSetVariable(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    VARIABLE_NAME_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    variable_name: builtins.str
    value: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        variable_name: builtins.str = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info", "value", b"value", "variable_name", b"variable_name"]) -> None: ...

global___DetectorModelSetVariable = DetectorModelSetVariable

@typing_extensions.final
class DetectorModelAction(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    IOT_EVENTS_FIELD_NUMBER: builtins.int
    FIREHOSE_FIELD_NUMBER: builtins.int
    IOT_TOPIC_PUBLISH_FIELD_NUMBER: builtins.int
    DYNAMO_DB_FIELD_NUMBER: builtins.int
    DYNAMO_DBV2_FIELD_NUMBER: builtins.int
    IOT_SITE_WISE_FIELD_NUMBER: builtins.int
    RESET_TIMER_FIELD_NUMBER: builtins.int
    SQS_FIELD_NUMBER: builtins.int
    SNS_FIELD_NUMBER: builtins.int
    SET_TIMER_FIELD_NUMBER: builtins.int
    CLEAR_TIMER_FIELD_NUMBER: builtins.int
    LAMBDA_FIELD_NUMBER: builtins.int
    SET_VARIABLE_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def iot_events(self) -> global___DetectorModelIotEvents: ...
    @property
    def firehose(self) -> global___DetectorModelFirehose: ...
    @property
    def iot_topic_publish(self) -> global___DetectorModelIotTopicPublish: ...
    @property
    def dynamo_db(self) -> global___DetectorModelDynamoDB: ...
    @property
    def dynamo_dbv2(self) -> global___DetectorModelDynamoDBv2: ...
    @property
    def iot_site_wise(self) -> global___DetectorModelIotSiteWise: ...
    @property
    def reset_timer(self) -> global___DetectorModelResetTimer: ...
    @property
    def sqs(self) -> global___DetectorModelSqs: ...
    @property
    def sns(self) -> global___DetectorModelSns: ...
    @property
    def set_timer(self) -> global___DetectorModelSetTimer: ...
    @property
    def clear_timer(self) -> global___DetectorModelClearTimer: ...
    @property
    def set_variable(self) -> global___DetectorModelSetVariable: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        iot_events: global___DetectorModelIotEvents | None = ...,
        firehose: global___DetectorModelFirehose | None = ...,
        iot_topic_publish: global___DetectorModelIotTopicPublish | None = ...,
        dynamo_db: global___DetectorModelDynamoDB | None = ...,
        dynamo_dbv2: global___DetectorModelDynamoDBv2 | None = ...,
        iot_site_wise: global___DetectorModelIotSiteWise | None = ...,
        reset_timer: global___DetectorModelResetTimer | None = ...,
        sqs: global___DetectorModelSqs | None = ...,
        sns: global___DetectorModelSns | None = ...,
        set_timer: global___DetectorModelSetTimer | None = ...,
        clear_timer: global___DetectorModelClearTimer | None = ...,
        set_variable: global___DetectorModelSetVariable | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["clear_timer", b"clear_timer", "dynamo_db", b"dynamo_db", "dynamo_dbv2", b"dynamo_dbv2", "firehose", b"firehose", "iot_events", b"iot_events", "iot_site_wise", b"iot_site_wise", "iot_topic_publish", b"iot_topic_publish", "lambda", b"lambda", "reset_timer", b"reset_timer", "resource_info", b"resource_info", "set_timer", b"set_timer", "set_variable", b"set_variable", "sns", b"sns", "sqs", b"sqs"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["clear_timer", b"clear_timer", "dynamo_db", b"dynamo_db", "dynamo_dbv2", b"dynamo_dbv2", "firehose", b"firehose", "iot_events", b"iot_events", "iot_site_wise", b"iot_site_wise", "iot_topic_publish", b"iot_topic_publish", "lambda", b"lambda", "reset_timer", b"reset_timer", "resource_info", b"resource_info", "set_timer", b"set_timer", "set_variable", b"set_variable", "sns", b"sns", "sqs", b"sqs"]) -> None: ...

global___DetectorModelAction = DetectorModelAction

@typing_extensions.final
class DetectorModelEvent(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CONDITION_FIELD_NUMBER: builtins.int
    ACTIONS_FIELD_NUMBER: builtins.int
    EVENT_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    condition: builtins.str
    @property
    def actions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DetectorModelAction]: ...
    event_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        condition: builtins.str = ...,
        actions: collections.abc.Iterable[global___DetectorModelAction] | None = ...,
        event_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["actions", b"actions", "condition", b"condition", "event_name", b"event_name", "resource_info", b"resource_info"]) -> None: ...

global___DetectorModelEvent = DetectorModelEvent

@typing_extensions.final
class DetectorModelTransitionEvent(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    CONDITION_FIELD_NUMBER: builtins.int
    ACTIONS_FIELD_NUMBER: builtins.int
    NEXT_STATE_FIELD_NUMBER: builtins.int
    EVENT_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    condition: builtins.str
    @property
    def actions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DetectorModelAction]: ...
    next_state: builtins.str
    event_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        condition: builtins.str = ...,
        actions: collections.abc.Iterable[global___DetectorModelAction] | None = ...,
        next_state: builtins.str = ...,
        event_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["actions", b"actions", "condition", b"condition", "event_name", b"event_name", "next_state", b"next_state", "resource_info", b"resource_info"]) -> None: ...

global___DetectorModelTransitionEvent = DetectorModelTransitionEvent

@typing_extensions.final
class DetectorModelOnInput(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    EVENTS_FIELD_NUMBER: builtins.int
    TRANSITION_EVENTS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DetectorModelEvent]: ...
    @property
    def transition_events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DetectorModelTransitionEvent]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        events: collections.abc.Iterable[global___DetectorModelEvent] | None = ...,
        transition_events: collections.abc.Iterable[global___DetectorModelTransitionEvent] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["events", b"events", "resource_info", b"resource_info", "transition_events", b"transition_events"]) -> None: ...

global___DetectorModelOnInput = DetectorModelOnInput

@typing_extensions.final
class DetectorModelOnExit(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    EVENTS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DetectorModelEvent]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        events: collections.abc.Iterable[global___DetectorModelEvent] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["events", b"events", "resource_info", b"resource_info"]) -> None: ...

global___DetectorModelOnExit = DetectorModelOnExit

@typing_extensions.final
class DetectorModelOnEnter(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    EVENTS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DetectorModelEvent]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        events: collections.abc.Iterable[global___DetectorModelEvent] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["events", b"events", "resource_info", b"resource_info"]) -> None: ...

global___DetectorModelOnEnter = DetectorModelOnEnter

@typing_extensions.final
class DetectorModelState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ON_INPUT_FIELD_NUMBER: builtins.int
    ON_EXIT_FIELD_NUMBER: builtins.int
    STATE_NAME_FIELD_NUMBER: builtins.int
    ON_ENTER_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def on_input(self) -> global___DetectorModelOnInput: ...
    @property
    def on_exit(self) -> global___DetectorModelOnExit: ...
    state_name: builtins.str
    @property
    def on_enter(self) -> global___DetectorModelOnEnter: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        on_input: global___DetectorModelOnInput | None = ...,
        on_exit: global___DetectorModelOnExit | None = ...,
        state_name: builtins.str = ...,
        on_enter: global___DetectorModelOnEnter | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["on_enter", b"on_enter", "on_exit", b"on_exit", "on_input", b"on_input", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["on_enter", b"on_enter", "on_exit", b"on_exit", "on_input", b"on_input", "resource_info", b"resource_info", "state_name", b"state_name"]) -> None: ...

global___DetectorModelState = DetectorModelState

@typing_extensions.final
class DetectorModelDetectorModelDefinition(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    STATES_FIELD_NUMBER: builtins.int
    INITIAL_STATE_NAME_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def states(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DetectorModelState]: ...
    initial_state_name: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        states: collections.abc.Iterable[global___DetectorModelState] | None = ...,
        initial_state_name: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["initial_state_name", b"initial_state_name", "resource_info", b"resource_info", "states", b"states"]) -> None: ...

global___DetectorModelDetectorModelDefinition = DetectorModelDetectorModelDefinition

@typing_extensions.final
class DetectorModel(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class TagsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    DETECTOR_MODEL_DEFINITION_FIELD_NUMBER: builtins.int
    EVALUATION_METHOD_FIELD_NUMBER: builtins.int
    DETECTOR_MODEL_NAME_FIELD_NUMBER: builtins.int
    DETECTOR_MODEL_DESCRIPTION_FIELD_NUMBER: builtins.int
    KEY_FIELD_NUMBER: builtins.int
    ROLE_ARN_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def detector_model_definition(self) -> global___DetectorModelDetectorModelDefinition: ...
    evaluation_method: builtins.str
    detector_model_name: builtins.str
    detector_model_description: builtins.str
    key: builtins.str
    role_arn: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        detector_model_definition: global___DetectorModelDetectorModelDefinition | None = ...,
        evaluation_method: builtins.str = ...,
        detector_model_name: builtins.str = ...,
        detector_model_description: builtins.str = ...,
        key: builtins.str = ...,
        role_arn: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["detector_model_definition", b"detector_model_definition", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["detector_model_definition", b"detector_model_definition", "detector_model_description", b"detector_model_description", "detector_model_name", b"detector_model_name", "evaluation_method", b"evaluation_method", "key", b"key", "resource_info", b"resource_info", "role_arn", b"role_arn", "tags", b"tags"]) -> None: ...

global___DetectorModel = DetectorModel

@typing_extensions.final
class IoTEvents(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DETECTOR_MODEL_FIELD_NUMBER: builtins.int
    INPUT_FIELD_NUMBER: builtins.int
    @property
    def detector_model(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DetectorModel]: ...
    @property
    def input(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Input]: ...
    def __init__(
        self,
        *,
        detector_model: collections.abc.Iterable[global___DetectorModel] | None = ...,
        input: collections.abc.Iterable[global___Input] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["detector_model", b"detector_model", "input", b"input"]) -> None: ...

global___IoTEvents = IoTEvents

@typing_extensions.final
class InputAttribute(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    JSON_PATH_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    json_path: builtins.str
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        json_path: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["json_path", b"json_path", "resource_info", b"resource_info"]) -> None: ...

global___InputAttribute = InputAttribute

@typing_extensions.final
class InputInputDefinition(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    ATTRIBUTES_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InputAttribute]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        attributes: collections.abc.Iterable[global___InputAttribute] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["attributes", b"attributes", "resource_info", b"resource_info"]) -> None: ...

global___InputInputDefinition = InputInputDefinition

@typing_extensions.final
class Input(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    @typing_extensions.final
    class TagsEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    RESOURCE_INFO_FIELD_NUMBER: builtins.int
    INPUT_DEFINITION_FIELD_NUMBER: builtins.int
    INPUT_NAME_FIELD_NUMBER: builtins.int
    INPUT_DESCRIPTION_FIELD_NUMBER: builtins.int
    TAGS_FIELD_NUMBER: builtins.int
    @property
    def resource_info(self) -> shared.shared_pb2.ResourceInfo: ...
    @property
    def input_definition(self) -> global___InputInputDefinition: ...
    input_name: builtins.str
    input_description: builtins.str
    @property
    def tags(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        resource_info: shared.shared_pb2.ResourceInfo | None = ...,
        input_definition: global___InputInputDefinition | None = ...,
        input_name: builtins.str = ...,
        input_description: builtins.str = ...,
        tags: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["input_definition", b"input_definition", "resource_info", b"resource_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["input_definition", b"input_definition", "input_description", b"input_description", "input_name", b"input_name", "resource_info", b"resource_info", "tags", b"tags"]) -> None: ...

global___Input = Input
