# WARNING: Please don't edit this file. It was generated by Python/WinRT v2.0.0-beta.1

import enum
import typing
import uuid as _uuid

import winrt.system
from winrt import _winrt_windows_devices_smartcards

__all__ = [
    "SmartCardActivationPolicyChangeResult",
    "SmartCardAppletIdGroupActivationPolicy",
    "SmartCardAutomaticResponseStatus",
    "SmartCardCryptogramAlgorithm",
    "SmartCardCryptogramGeneratorOperationStatus",
    "SmartCardCryptogramMaterialPackageConfirmationResponseFormat",
    "SmartCardCryptogramMaterialPackageFormat",
    "SmartCardCryptogramMaterialProtectionMethod",
    "SmartCardCryptogramMaterialType",
    "SmartCardCryptogramPlacementOptions",
    "SmartCardCryptogramStorageKeyAlgorithm",
    "SmartCardCryptogramStorageKeyCapabilities",
    "SmartCardCryptographicKeyAttestationStatus",
    "SmartCardEmulationCategory",
    "SmartCardEmulationType",
    "SmartCardEmulatorConnectionDeactivatedReason",
    "SmartCardEmulatorConnectionSource",
    "SmartCardEmulatorEnablementPolicy",
    "SmartCardLaunchBehavior",
    "SmartCardPinCharacterPolicyOption",
    "SmartCardReaderKind",
    "SmartCardReaderStatus",
    "SmartCardStatus",
    "SmartCardTriggerType",
    "SmartCardUnlockPromptingBehavior",
    "CardAddedEventArgs",
    "CardRemovedEventArgs",
    "KnownSmartCardAppletIds",
    "SmartCard",
    "SmartCardAppletIdGroup",
    "SmartCardAppletIdGroupRegistration",
    "SmartCardAutomaticResponseApdu",
    "SmartCardChallengeContext",
    "SmartCardConnection",
    "SmartCardCryptogramGenerator",
    "SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult",
    "SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult",
    "SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult",
    "SmartCardCryptogramMaterialCharacteristics",
    "SmartCardCryptogramMaterialPackageCharacteristics",
    "SmartCardCryptogramMaterialPossessionProof",
    "SmartCardCryptogramPlacementStep",
    "SmartCardCryptogramStorageKeyCharacteristics",
    "SmartCardCryptogramStorageKeyInfo",
    "SmartCardEmulator",
    "SmartCardEmulatorApduReceivedEventArgs",
    "SmartCardEmulatorConnectionDeactivatedEventArgs",
    "SmartCardEmulatorConnectionProperties",
    "SmartCardPinPolicy",
    "SmartCardPinResetDeferral",
    "SmartCardPinResetRequest",
    "SmartCardProvisioning",
    "SmartCardReader",
    "SmartCardTriggerDetails",
    "SmartCardPinResetHandler",
]

class SmartCardActivationPolicyChangeResult(enum.IntEnum):
    DENIED = 0
    ALLOWED = 1

class SmartCardAppletIdGroupActivationPolicy(enum.IntEnum):
    DISABLED = 0
    FOREGROUND_OVERRIDE = 1
    ENABLED = 2

class SmartCardAutomaticResponseStatus(enum.IntEnum):
    NONE = 0
    SUCCESS = 1
    UNKNOWN_ERROR = 2

class SmartCardCryptogramAlgorithm(enum.IntEnum):
    NONE = 0
    CBC_MAC = 1
    CVC3_UMD = 2
    DECIMALIZED_MSD = 3
    CVC3_M_D = 4
    SHA1 = 5
    SIGNED_DYNAMIC_APPLICATION_DATA = 6
    RSA_PKCS1 = 7
    SHA256_HMAC = 8

class SmartCardCryptogramGeneratorOperationStatus(enum.IntEnum):
    SUCCESS = 0
    AUTHORIZATION_FAILED = 1
    AUTHORIZATION_CANCELED = 2
    AUTHORIZATION_REQUIRED = 3
    CRYPTOGRAM_MATERIAL_PACKAGE_STORAGE_KEY_EXISTS = 4
    NO_CRYPTOGRAM_MATERIAL_PACKAGE_STORAGE_KEY = 5
    NO_CRYPTOGRAM_MATERIAL_PACKAGE = 6
    UNSUPPORTED_CRYPTOGRAM_MATERIAL_PACKAGE = 7
    UNKNOWN_CRYPTOGRAM_MATERIAL_NAME = 8
    INVALID_CRYPTOGRAM_MATERIAL_USAGE = 9
    APDU_RESPONSE_NOT_SENT = 10
    OTHER_ERROR = 11
    VALIDATION_FAILED = 12
    NOT_SUPPORTED = 13

class SmartCardCryptogramMaterialPackageConfirmationResponseFormat(enum.IntEnum):
    NONE = 0
    VISA_HMAC = 1

class SmartCardCryptogramMaterialPackageFormat(enum.IntEnum):
    NONE = 0
    JWE_RSA_PKI = 1

class SmartCardCryptogramMaterialProtectionMethod(enum.IntEnum):
    NONE = 0
    WHITE_BOXING = 1

class SmartCardCryptogramMaterialType(enum.IntEnum):
    NONE = 0
    STATIC_DATA_AUTHENTICATION = 1
    TRIPLE_DES112 = 2
    AES = 3
    RSA_PKCS1 = 4

class SmartCardCryptogramPlacementOptions(enum.IntFlag):
    NONE = 0
    UNITS_ARE_IN_NIBBLES = 0x1
    CHAIN_OUTPUT = 0x2

class SmartCardCryptogramStorageKeyAlgorithm(enum.IntEnum):
    NONE = 0
    RSA2048 = 1

class SmartCardCryptogramStorageKeyCapabilities(enum.IntFlag):
    NONE = 0
    HARDWARE_PROTECTION = 0x1
    UNLOCK_PROMPT = 0x2

class SmartCardCryptographicKeyAttestationStatus(enum.IntEnum):
    NO_ATTESTATION = 0
    SOFTWARE_KEY_WITHOUT_TPM = 1
    SOFTWARE_KEY_WITH_TPM = 2
    TPM_KEY_UNKNOWN_ATTESTATION_STATUS = 3
    TPM_KEY_WITHOUT_ATTESTATION_CAPABILITY = 4
    TPM_KEY_WITH_TEMPORARY_ATTESTATION_FAILURE = 5
    TPM_KEY_WITH_LONG_TERM_ATTESTATION_FAILURE = 6
    TPM_KEY_WITH_ATTESTATION = 7

class SmartCardEmulationCategory(enum.IntEnum):
    OTHER = 0
    PAYMENT = 1

class SmartCardEmulationType(enum.IntEnum):
    HOST = 0
    UICC = 1
    EMBEDDED_S_E = 2

class SmartCardEmulatorConnectionDeactivatedReason(enum.IntEnum):
    CONNECTION_LOST = 0
    CONNECTION_REDIRECTED = 1

class SmartCardEmulatorConnectionSource(enum.IntEnum):
    UNKNOWN = 0
    NFC_READER = 1

class SmartCardEmulatorEnablementPolicy(enum.IntEnum):
    NEVER = 0
    ALWAYS = 1
    SCREEN_ON = 2
    SCREEN_UNLOCKED = 3

class SmartCardLaunchBehavior(enum.IntEnum):
    DEFAULT = 0
    ABOVE_LOCK = 1

class SmartCardPinCharacterPolicyOption(enum.IntEnum):
    ALLOW = 0
    REQUIRE_AT_LEAST_ONE = 1
    DISALLOW = 2

class SmartCardReaderKind(enum.IntEnum):
    ANY = 0
    GENERIC = 1
    TPM = 2
    NFC = 3
    UICC = 4
    EMBEDDED_S_E = 5

class SmartCardReaderStatus(enum.IntEnum):
    DISCONNECTED = 0
    READY = 1
    EXCLUSIVE = 2

class SmartCardStatus(enum.IntEnum):
    DISCONNECTED = 0
    READY = 1
    SHARED = 2
    EXCLUSIVE = 3
    UNRESPONSIVE = 4

class SmartCardTriggerType(enum.IntEnum):
    EMULATOR_TRANSACTION = 0
    EMULATOR_NEAR_FIELD_ENTRY = 1
    EMULATOR_NEAR_FIELD_EXIT = 2
    EMULATOR_HOST_APPLICATION_ACTIVATED = 3
    EMULATOR_APPLET_ID_GROUP_REGISTRATION_CHANGED = 4
    READER_CARD_ADDED = 5

class SmartCardUnlockPromptingBehavior(enum.IntEnum):
    ALLOW_UNLOCK_PROMPT = 0
    REQUIRE_UNLOCK_PROMPT = 1
    PREVENT_UNLOCK_PROMPT = 2

CardAddedEventArgs = _winrt_windows_devices_smartcards.CardAddedEventArgs
CardRemovedEventArgs = _winrt_windows_devices_smartcards.CardRemovedEventArgs
KnownSmartCardAppletIds = _winrt_windows_devices_smartcards.KnownSmartCardAppletIds
SmartCard = _winrt_windows_devices_smartcards.SmartCard
SmartCardAppletIdGroup = _winrt_windows_devices_smartcards.SmartCardAppletIdGroup
SmartCardAppletIdGroupRegistration = _winrt_windows_devices_smartcards.SmartCardAppletIdGroupRegistration
SmartCardAutomaticResponseApdu = _winrt_windows_devices_smartcards.SmartCardAutomaticResponseApdu
SmartCardChallengeContext = _winrt_windows_devices_smartcards.SmartCardChallengeContext
SmartCardConnection = _winrt_windows_devices_smartcards.SmartCardConnection
SmartCardCryptogramGenerator = _winrt_windows_devices_smartcards.SmartCardCryptogramGenerator
SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult = _winrt_windows_devices_smartcards.SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult
SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult = _winrt_windows_devices_smartcards.SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult
SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult = _winrt_windows_devices_smartcards.SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult
SmartCardCryptogramMaterialCharacteristics = _winrt_windows_devices_smartcards.SmartCardCryptogramMaterialCharacteristics
SmartCardCryptogramMaterialPackageCharacteristics = _winrt_windows_devices_smartcards.SmartCardCryptogramMaterialPackageCharacteristics
SmartCardCryptogramMaterialPossessionProof = _winrt_windows_devices_smartcards.SmartCardCryptogramMaterialPossessionProof
SmartCardCryptogramPlacementStep = _winrt_windows_devices_smartcards.SmartCardCryptogramPlacementStep
SmartCardCryptogramStorageKeyCharacteristics = _winrt_windows_devices_smartcards.SmartCardCryptogramStorageKeyCharacteristics
SmartCardCryptogramStorageKeyInfo = _winrt_windows_devices_smartcards.SmartCardCryptogramStorageKeyInfo
SmartCardEmulator = _winrt_windows_devices_smartcards.SmartCardEmulator
SmartCardEmulatorApduReceivedEventArgs = _winrt_windows_devices_smartcards.SmartCardEmulatorApduReceivedEventArgs
SmartCardEmulatorConnectionDeactivatedEventArgs = _winrt_windows_devices_smartcards.SmartCardEmulatorConnectionDeactivatedEventArgs
SmartCardEmulatorConnectionProperties = _winrt_windows_devices_smartcards.SmartCardEmulatorConnectionProperties
SmartCardPinPolicy = _winrt_windows_devices_smartcards.SmartCardPinPolicy
SmartCardPinResetDeferral = _winrt_windows_devices_smartcards.SmartCardPinResetDeferral
SmartCardPinResetRequest = _winrt_windows_devices_smartcards.SmartCardPinResetRequest
SmartCardProvisioning = _winrt_windows_devices_smartcards.SmartCardProvisioning
SmartCardReader = _winrt_windows_devices_smartcards.SmartCardReader
SmartCardTriggerDetails = _winrt_windows_devices_smartcards.SmartCardTriggerDetails
SmartCardPinResetHandler = typing.Callable[[typing.Optional[SmartCardProvisioning], typing.Optional[SmartCardPinResetRequest]], None]
