"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.field_mask_pb2
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import yandex.cloud.smartcaptcha.v1.captcha_pb2

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    CAPTCHA_ID_FIELD_NUMBER: builtins.int
    captcha_id: builtins.str
    """ID of the Captcha resource to return."""
    def __init__(
        self,
        *,
        captcha_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["captcha_id", b"captcha_id"]) -> None: ...

global___GetCaptchaRequest = GetCaptchaRequest

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

    FOLDER_ID_FIELD_NUMBER: builtins.int
    folder_id: builtins.str
    """ID of the folder that the captcha belongs to.
    Currently page_size, page_token, filter and order_by are not supported and List method will return all captchas in the folder.
    """
    def __init__(
        self,
        *,
        folder_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["folder_id", b"folder_id"]) -> None: ...

global___ListCaptchasRequest = ListCaptchasRequest

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

    RESOURCES_FIELD_NUMBER: builtins.int
    @property
    def resources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.smartcaptcha.v1.captcha_pb2.Captcha]:
        """List of Captcha resources.
        Currently next_page_token is not supported and List method will return all captchas in the folder.
        """

    def __init__(
        self,
        *,
        resources: collections.abc.Iterable[yandex.cloud.smartcaptcha.v1.captcha_pb2.Captcha] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["resources", b"resources"]) -> None: ...

global___ListCaptchasResponse = ListCaptchasResponse

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

    FOLDER_ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ALLOWED_SITES_FIELD_NUMBER: builtins.int
    COMPLEXITY_FIELD_NUMBER: builtins.int
    STYLE_JSON_FIELD_NUMBER: builtins.int
    TURN_OFF_HOSTNAME_CHECK_FIELD_NUMBER: builtins.int
    PRE_CHECK_TYPE_FIELD_NUMBER: builtins.int
    CHALLENGE_TYPE_FIELD_NUMBER: builtins.int
    SECURITY_RULES_FIELD_NUMBER: builtins.int
    DELETION_PROTECTION_FIELD_NUMBER: builtins.int
    OVERRIDE_VARIANTS_FIELD_NUMBER: builtins.int
    folder_id: builtins.str
    """ID of the folder to create a captcha in."""
    name: builtins.str
    """Name of the captcha.
    The name must be unique within the folder.
    """
    complexity: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaComplexity.ValueType
    """Complexity of the captcha."""
    style_json: builtins.str
    """JSON with variables to define the captcha appearance. For more details see generated JSON in cloud console."""
    turn_off_hostname_check: builtins.bool
    """Turn off host name check, see [Domain validation](/docs/smartcaptcha/concepts/domain-validation)."""
    pre_check_type: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaPreCheckType.ValueType
    """Basic check type of the captcha."""
    challenge_type: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaChallengeType.ValueType
    """Additional task type of the captcha."""
    deletion_protection: builtins.bool
    """Determines whether captcha is protected from being deleted."""
    @property
    def allowed_sites(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """List of allowed host names, see [Domain validation](/docs/smartcaptcha/concepts/domain-validation)."""

    @property
    def security_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.smartcaptcha.v1.captcha_pb2.SecurityRule]:
        """List of security rules."""

    @property
    def override_variants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.smartcaptcha.v1.captcha_pb2.OverrideVariant]:
        """List of variants to use in security_rules"""

    def __init__(
        self,
        *,
        folder_id: builtins.str = ...,
        name: builtins.str = ...,
        allowed_sites: collections.abc.Iterable[builtins.str] | None = ...,
        complexity: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaComplexity.ValueType = ...,
        style_json: builtins.str = ...,
        turn_off_hostname_check: builtins.bool = ...,
        pre_check_type: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaPreCheckType.ValueType = ...,
        challenge_type: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaChallengeType.ValueType = ...,
        security_rules: collections.abc.Iterable[yandex.cloud.smartcaptcha.v1.captcha_pb2.SecurityRule] | None = ...,
        deletion_protection: builtins.bool = ...,
        override_variants: collections.abc.Iterable[yandex.cloud.smartcaptcha.v1.captcha_pb2.OverrideVariant] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["allowed_sites", b"allowed_sites", "challenge_type", b"challenge_type", "complexity", b"complexity", "deletion_protection", b"deletion_protection", "folder_id", b"folder_id", "name", b"name", "override_variants", b"override_variants", "pre_check_type", b"pre_check_type", "security_rules", b"security_rules", "style_json", b"style_json", "turn_off_hostname_check", b"turn_off_hostname_check"]) -> None: ...

global___CreateCaptchaRequest = CreateCaptchaRequest

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

    CAPTCHA_ID_FIELD_NUMBER: builtins.int
    captcha_id: builtins.str
    """ID of the captcha that is being created."""
    def __init__(
        self,
        *,
        captcha_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["captcha_id", b"captcha_id"]) -> None: ...

global___CreateCaptchaMetadata = CreateCaptchaMetadata

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

    CAPTCHA_ID_FIELD_NUMBER: builtins.int
    captcha_id: builtins.str
    """ID of the captcha to delete."""
    def __init__(
        self,
        *,
        captcha_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["captcha_id", b"captcha_id"]) -> None: ...

global___DeleteCaptchaRequest = DeleteCaptchaRequest

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

    CAPTCHA_ID_FIELD_NUMBER: builtins.int
    captcha_id: builtins.str
    """ID of the Captcha resource that is being deleted."""
    def __init__(
        self,
        *,
        captcha_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["captcha_id", b"captcha_id"]) -> None: ...

global___DeleteCaptchaMetadata = DeleteCaptchaMetadata

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

    CAPTCHA_ID_FIELD_NUMBER: builtins.int
    UPDATE_MASK_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ALLOWED_SITES_FIELD_NUMBER: builtins.int
    COMPLEXITY_FIELD_NUMBER: builtins.int
    STYLE_JSON_FIELD_NUMBER: builtins.int
    TURN_OFF_HOSTNAME_CHECK_FIELD_NUMBER: builtins.int
    PRE_CHECK_TYPE_FIELD_NUMBER: builtins.int
    CHALLENGE_TYPE_FIELD_NUMBER: builtins.int
    SECURITY_RULES_FIELD_NUMBER: builtins.int
    DELETION_PROTECTION_FIELD_NUMBER: builtins.int
    OVERRIDE_VARIANTS_FIELD_NUMBER: builtins.int
    captcha_id: builtins.str
    """ID of the captcha to update."""
    name: builtins.str
    """Name of the captcha.
    The name must be unique within the folder.
    """
    complexity: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaComplexity.ValueType
    """Complexity of the captcha."""
    style_json: builtins.str
    """JSON with variables to define the captcha appearance. For more details see generated JSON in cloud console."""
    turn_off_hostname_check: builtins.bool
    """Turn off host name check, see [Domain validation](/docs/smartcaptcha/concepts/domain-validation)."""
    pre_check_type: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaPreCheckType.ValueType
    """Basic check type of the captcha."""
    challenge_type: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaChallengeType.ValueType
    """Additional task type of the captcha."""
    deletion_protection: builtins.bool
    """Determines whether captcha is protected from being deleted."""
    @property
    def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask:
        """Field mask that specifies which fields of the Captcha resource are going to be updated."""

    @property
    def allowed_sites(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """List of allowed host names, see [Domain validation](/docs/smartcaptcha/concepts/domain-validation)."""

    @property
    def security_rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.smartcaptcha.v1.captcha_pb2.SecurityRule]:
        """List of security rules."""

    @property
    def override_variants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[yandex.cloud.smartcaptcha.v1.captcha_pb2.OverrideVariant]:
        """List of variants to use in security_rules"""

    def __init__(
        self,
        *,
        captcha_id: builtins.str = ...,
        update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ...,
        name: builtins.str = ...,
        allowed_sites: collections.abc.Iterable[builtins.str] | None = ...,
        complexity: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaComplexity.ValueType = ...,
        style_json: builtins.str = ...,
        turn_off_hostname_check: builtins.bool = ...,
        pre_check_type: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaPreCheckType.ValueType = ...,
        challenge_type: yandex.cloud.smartcaptcha.v1.captcha_pb2.CaptchaChallengeType.ValueType = ...,
        security_rules: collections.abc.Iterable[yandex.cloud.smartcaptcha.v1.captcha_pb2.SecurityRule] | None = ...,
        deletion_protection: builtins.bool = ...,
        override_variants: collections.abc.Iterable[yandex.cloud.smartcaptcha.v1.captcha_pb2.OverrideVariant] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["update_mask", b"update_mask"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["allowed_sites", b"allowed_sites", "captcha_id", b"captcha_id", "challenge_type", b"challenge_type", "complexity", b"complexity", "deletion_protection", b"deletion_protection", "name", b"name", "override_variants", b"override_variants", "pre_check_type", b"pre_check_type", "security_rules", b"security_rules", "style_json", b"style_json", "turn_off_hostname_check", b"turn_off_hostname_check", "update_mask", b"update_mask"]) -> None: ...

global___UpdateCaptchaRequest = UpdateCaptchaRequest

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

    CAPTCHA_ID_FIELD_NUMBER: builtins.int
    captcha_id: builtins.str
    """ID of the Captcha resource that is being updated."""
    def __init__(
        self,
        *,
        captcha_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["captcha_id", b"captcha_id"]) -> None: ...

global___UpdateCaptchaMetadata = UpdateCaptchaMetadata
