"""
@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.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _HttpMethodTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_HttpMethodType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    HTTP_METHOD_TYPE_INVALID: _HttpMethodType.ValueType  # 0
    HTTP_METHOD_TYPE_GET: _HttpMethodType.ValueType  # 1
    HTTP_METHOD_TYPE_POST: _HttpMethodType.ValueType  # 2
    HTTP_METHOD_TYPE_PUT: _HttpMethodType.ValueType  # 3
    HTTP_METHOD_TYPE_DELETE: _HttpMethodType.ValueType  # 4
    HTTP_METHOD_TYPE_PATCH: _HttpMethodType.ValueType  # 5
    HTTP_METHOD_TYPE_HEAD: _HttpMethodType.ValueType  # 6

class HttpMethodType(_HttpMethodType, metaclass=_HttpMethodTypeEnumTypeWrapper): ...

HTTP_METHOD_TYPE_INVALID: HttpMethodType.ValueType  # 0
HTTP_METHOD_TYPE_GET: HttpMethodType.ValueType  # 1
HTTP_METHOD_TYPE_POST: HttpMethodType.ValueType  # 2
HTTP_METHOD_TYPE_PUT: HttpMethodType.ValueType  # 3
HTTP_METHOD_TYPE_DELETE: HttpMethodType.ValueType  # 4
HTTP_METHOD_TYPE_PATCH: HttpMethodType.ValueType  # 5
HTTP_METHOD_TYPE_HEAD: HttpMethodType.ValueType  # 6
global___HttpMethodType = HttpMethodType

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

    POST_SLACK_NOTIFICATION_FIELD_NUMBER: builtins.int
    CUSTOM_WEBHOOK_FIELD_NUMBER: builtins.int
    @property
    def post_slack_notification(self) -> global___PostSlackNotification: ...
    @property
    def custom_webhook(self) -> global___CustomWebhook: ...
    def __init__(
        self,
        *,
        post_slack_notification: global___PostSlackNotification | None = ...,
        custom_webhook: global___CustomWebhook | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["custom_webhook", b"custom_webhook", "notification", b"notification", "post_slack_notification", b"post_slack_notification"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["custom_webhook", b"custom_webhook", "notification", b"notification", "post_slack_notification", b"post_slack_notification"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["notification", b"notification"]) -> typing_extensions.Literal["post_slack_notification", "custom_webhook"] | None: ...

global___Notification = Notification

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

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

global___PostSlackNotification = PostSlackNotification

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

    class HeadersEntry(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: ...

    class DataEntry(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: ...

    URL_FIELD_NUMBER: builtins.int
    HTTP_METHOD_FIELD_NUMBER: builtins.int
    HEADERS_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    url: builtins.str
    http_method: global___HttpMethodType.ValueType
    @property
    def headers(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    @property
    def data(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: ...
    def __init__(
        self,
        *,
        url: builtins.str = ...,
        http_method: global___HttpMethodType.ValueType = ...,
        headers: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
        data: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["data", b"data", "headers", b"headers", "http_method", b"http_method", "url", b"url"]) -> None: ...

global___CustomWebhook = CustomWebhook
