# Path: google/cloud/recaptchaenterprise_v1/types/recaptchaenterprise.py
# class CreateAssessmentRequest(proto.Message):
# class AnnotateAssessmentRequest(proto.Message):
#     class Annotation(proto.Enum):
#     class Reason(proto.Enum):
# class AnnotateAssessmentResponse(proto.Message):
# class Assessment(proto.Message):
# class Event(proto.Message):
# class RiskAnalysis(proto.Message):
#     class ClassificationReason(proto.Enum):
# class TokenProperties(proto.Message):
#     class InvalidReason(proto.Enum):
# class AccountDefenderAssessment(proto.Message):
#     class AccountDefenderLabel(proto.Enum):
# class CreateKeyRequest(proto.Message):
# class ListKeysRequest(proto.Message):
# class ListKeysResponse(proto.Message):
# class GetKeyRequest(proto.Message):
# class UpdateKeyRequest(proto.Message):
# class DeleteKeyRequest(proto.Message):
# class MigrateKeyRequest(proto.Message):
# class GetMetricsRequest(proto.Message):
# class Metrics(proto.Message):
# class Key(proto.Message):
# class TestingOptions(proto.Message):
#     class TestingChallenge(proto.Enum):
# class WebKeySettings(proto.Message):
#     class IntegrationType(proto.Enum):
#     class ChallengeSecurityPreference(proto.Enum):
# class AndroidKeySettings(proto.Message):
# class IOSKeySettings(proto.Message):
# class ScoreDistribution(proto.Message):
# class ScoreMetrics(proto.Message):
# class ChallengeMetrics(proto.Message):
# class ListRelatedAccountGroupMembershipsRequest(proto.Message):
# class ListRelatedAccountGroupMembershipsResponse(proto.Message):
# class ListRelatedAccountGroupsRequest(proto.Message):
# class ListRelatedAccountGroupsResponse(proto.Message):
# class SearchRelatedAccountGroupMembershipsRequest(proto.Message):
# class SearchRelatedAccountGroupMembershipsResponse(proto.Message):
# class RelatedAccountGroupMembership(proto.Message):
# class RelatedAccountGroup(proto.Message):
#         ANNOTATION_UNSPECIFIED = 0
#         LEGITIMATE = 1
#         FRAUDULENT = 2
#         PASSWORD_CORRECT = 3
#         PASSWORD_INCORRECT = 4
#         REASON_UNSPECIFIED = 0
#         CHARGEBACK = 1
#         CHARGEBACK_FRAUD = 8
#         CHARGEBACK_DISPUTE = 9
#         PAYMENT_HEURISTICS = 2
#         INITIATED_TWO_FACTOR = 7
#         PASSED_TWO_FACTOR = 3
#         FAILED_TWO_FACTOR = 4
#         CORRECT_PASSWORD = 5
#         INCORRECT_PASSWORD = 6
#         CLASSIFICATION_REASON_UNSPECIFIED = 0
#         AUTOMATION = 1
#         UNEXPECTED_ENVIRONMENT = 2
#         TOO_MUCH_TRAFFIC = 3
#         UNEXPECTED_USAGE_PATTERNS = 4
#         LOW_CONFIDENCE_SCORE = 5
#         INVALID_REASON_UNSPECIFIED = 0
#         UNKNOWN_INVALID_REASON = 1
#         MALFORMED = 2
#         EXPIRED = 3
#         DUPE = 4
#         MISSING = 5
#         BROWSER_ERROR = 6
#         ACCOUNT_DEFENDER_LABEL_UNSPECIFIED = 0
#         PROFILE_MATCH = 1
#         SUSPICIOUS_LOGIN_ACTIVITY = 2
#         SUSPICIOUS_ACCOUNT_CREATION = 3
#         RELATED_ACCOUNTS_NUMBER_HIGH = 4
#         TESTING_CHALLENGE_UNSPECIFIED = 0
#         NOCAPTCHA = 1
#         UNSOLVABLE_CHALLENGE = 2
#         INTEGRATION_TYPE_UNSPECIFIED = 0
#         SCORE = 1
#         CHECKBOX = 2
#         INVISIBLE = 3
#         CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED = 0
#         USABILITY = 1
#         BALANCE = 2
#         SECURITY = 3
#     def raw_page(self):
#     def raw_page(self):
#     def raw_page(self):
#     def raw_page(self):


import abc
import pkg_resources
import google.auth  # type: ignore
import google.api_core
from typing import Awaitable, Callable, Dict, Optional, Sequence, Union
from google.api_core import exceptions as core_exceptions
from google.api_core import gapic_v1
from google.api_core import retry as retries
from google.auth import credentials as ga_credentials  # type: ignore
from google.oauth2 import service_account  # type: ignore
from google.cloud.recaptchaenterprise_v1.types import recaptchaenterprise
from google.protobuf import empty_pb2  # type: ignore
            self.list_related_account_groups: gapic_v1.method.wrap_method(
                self.list_related_account_groups,
                default_timeout=None,
                client_info=client_info,
            ),
            self.list_related_account_group_memberships: gapic_v1.method.wrap_method(
                self.list_related_account_group_memberships,
                default_timeout=None,
                client_info=client_info,
            ),
            self.search_related_account_group_memberships: gapic_v1.method.wrap_method(
                self.search_related_account_group_memberships,
                default_timeout=None,
                client_info=client_info,
            ),
        }

    def close(self):
        """Closes resources associated with the transport.

       .. warning::
            Only call this method if the transport is NOT shared
            with other clients - this may cause errors in other clients!
        """
        raise NotImplementedError()

    @property
    def create_assessment(
        self,
    ) -> Callable[

# Path: google/cloud/recaptchaenterprise_v1/types/recaptchaenterprise.py
# class CreateAssessmentRequest(proto.Message):
# class AnnotateAssessmentRequest(proto.Message):
#     class Annotation(proto.Enum):
#     class Reason(proto.Enum):
# class AnnotateAssessmentResponse(proto.Message):
# class Assessment(proto.Message):
# class Event(proto.Message):
# class RiskAnalysis(proto.Message):
#     class ClassificationReason(proto.Enum):
# class TokenProperties(proto.Message):
#     class InvalidReason(proto.Enum):
# class AccountDefenderAssessment(proto.Message):
#     class AccountDefenderLabel(proto.Enum):
# class CreateKeyRequest(proto.Message):
# class ListKeysRequest(proto.Message):
# class ListKeysResponse(proto.Message):
# class GetKeyRequest(proto.Message):
# class UpdateKeyRequest(proto.Message):
# class DeleteKeyRequest(proto.Message):
# class MigrateKeyRequest(proto.Message):
# class GetMetricsRequest(proto.Message):
# class Metrics(proto.Message):
# class Key(proto.Message):
# class TestingOptions(proto.Message):
#     class TestingChallenge(proto.Enum):
# class WebKeySettings(proto.Message):
#     class IntegrationType(proto.Enum):
#     class ChallengeSecurityPreference(proto.Enum):
# class AndroidKeySettings(proto.Message):
# class IOSKeySettings(proto.Message):
# class ScoreDistribution(proto.Message):
# class ScoreMetrics(proto.Message):
# class ChallengeMetrics(proto.Message):
# class ListRelatedAccountGroupMembershipsRequest(proto.Message):
# class ListRelatedAccountGroupMembershipsResponse(proto.Message):
# class ListRelatedAccountGroupsRequest(proto.Message):
# class ListRelatedAccountGroupsResponse(proto.Message):
# class SearchRelatedAccountGroupMembershipsRequest(proto.Message):
# class SearchRelatedAccountGroupMembershipsResponse(proto.Message):
# class RelatedAccountGroupMembership(proto.Message):
# class RelatedAccountGroup(proto.Message):
#         ANNOTATION_UNSPECIFIED = 0
#         LEGITIMATE = 1
#         FRAUDULENT = 2
#         PASSWORD_CORRECT = 3
#         PASSWORD_INCORRECT = 4
#         REASON_UNSPECIFIED = 0
#         CHARGEBACK = 1
#         CHARGEBACK_FRAUD = 8
#         CHARGEBACK_DISPUTE = 9
#         PAYMENT_HEURISTICS = 2
#         INITIATED_TWO_FACTOR = 7
#         PASSED_TWO_FACTOR = 3
#         FAILED_TWO_FACTOR = 4
#         CORRECT_PASSWORD = 5
#         INCORRECT_PASSWORD = 6
#         CLASSIFICATION_REASON_UNSPECIFIED = 0
#         AUTOMATION = 1
#         UNEXPECTED_ENVIRONMENT = 2
#         TOO_MUCH_TRAFFIC = 3
#         UNEXPECTED_USAGE_PATTERNS = 4
#         LOW_CONFIDENCE_SCORE = 5
#         INVALID_REASON_UNSPECIFIED = 0
#         UNKNOWN_INVALID_REASON = 1
#         MALFORMED = 2
#         EXPIRED = 3
#         DUPE = 4
#         MISSING = 5
#         BROWSER_ERROR = 6
#         ACCOUNT_DEFENDER_LABEL_UNSPECIFIED = 0
#         PROFILE_MATCH = 1
#         SUSPICIOUS_LOGIN_ACTIVITY = 2
#         SUSPICIOUS_ACCOUNT_CREATION = 3
#         RELATED_ACCOUNTS_NUMBER_HIGH = 4
#         TESTING_CHALLENGE_UNSPECIFIED = 0
#         NOCAPTCHA = 1
#         UNSOLVABLE_CHALLENGE = 2
#         INTEGRATION_TYPE_UNSPECIFIED = 0
#         SCORE = 1
#         CHECKBOX = 2
#         INVISIBLE = 3
#         CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED = 0
#         USABILITY = 1
#         BALANCE = 2
#         SECURITY = 3
#     def raw_page(self):
#     def raw_page(self):
#     def raw_page(self):
#     def raw_page(self):


# Path: google/cloud/recaptchaenterprise_v1/services/recaptcha_enterprise_service/transports/base.py
import abc
import pkg_resources
import google.auth  # type: ignore
import google.api_core
from typing import Awaitable, Callable, Dict, Optional, Sequence, Union
from google.api_core import exceptions as core_exceptions
from google.api_core import gapic_v1
from google.api_core import retry as retries
from google.auth import credentials as ga_credentials  # type: ignore
from google.oauth2 import service_account  # type: ignore
from google.cloud.recaptchaenterprise_v1.types import recaptchaenterprise
from google.protobuf import empty_pb2  # type: ignore

            self.list_related_account_groups: gapic_v1.method.wrap_method(
                self.list_related_account_groups,
                default_timeout=None,
                client_info=client_info,
            ),
            self.list_related_account_group_memberships: gapic_v1.method.wrap_method(
                self.list_related_account_group_memberships,
                default_timeout=None,
                client_info=client_info,
            ),
            self.search_related_account_group_memberships: gapic_v1.method.wrap_method(
                self.search_related_account_group_memberships,
                default_timeout=None,
                client_info=client_info,
            ),
        }

    def close(self):
        """Closes resources associated with the transport.

       .. warning::
            Only call this method if the transport is NOT shared
            with other clients - this may cause errors in other clients!
        """
        raise NotImplementedError()

    @property
    def create_assessment(
        self,
    ) -> Callable[

        [recaptchaenterprise.CreateAssessmentRequest],