# WARNING: Please don't edit this file. It was generated by Python/WinRT v2.0.1

import datetime
import sys
import types
import typing
import uuid as _uuid
from builtins import property as _property

import winrt._winrt
import winrt.system
import winrt.windows.foundation
import winrt.windows.foundation.collections
import winrt.windows.networking
import winrt.windows.storage.streams

from winrt.windows.security.cryptography.certificates import CertificateChainPolicy, ChainValidationResult, EnrollKeyUsages, ExportOption, InstallOptions, KeyProtectionLevel, KeySize, SignatureValidationResult

Self = typing.TypeVar('Self')

@typing.final
class Certificate(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> Certificate: ...
    def __new__(cls: typing.Type[Certificate], cert_blob: typing.Optional[winrt.windows.storage.streams.IBuffer]) -> Certificate:...
    @typing.overload
    def build_chain_async(self, certificates: typing.Iterable[Certificate], /) -> winrt.windows.foundation.IAsyncOperation[CertificateChain]: ...
    @typing.overload
    def build_chain_async(self, certificates: typing.Iterable[Certificate], parameters: typing.Optional[ChainBuildingParameters], /) -> winrt.windows.foundation.IAsyncOperation[CertificateChain]: ...
    def get_certificate_blob(self) -> typing.Optional[winrt.windows.storage.streams.IBuffer]: ...
    @typing.overload
    def get_hash_value(self) -> winrt.system.UInt8: ...
    @typing.overload
    def get_hash_value(self, hash_algorithm_name: str, /) -> winrt.system.UInt8: ...
    @_property
    def friendly_name(self) -> str: ...
    @friendly_name.setter
    def friendly_name(self, value: str) -> None: ...
    @_property
    def enhanced_key_usages(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[str]]: ...
    @_property
    def has_private_key(self) -> bool: ...
    @_property
    def is_strongly_protected(self) -> bool: ...
    @_property
    def issuer(self) -> str: ...
    @_property
    def serial_number(self) -> winrt.system.UInt8: ...
    @_property
    def subject(self) -> str: ...
    @_property
    def valid_from(self) -> datetime.datetime: ...
    @_property
    def valid_to(self) -> datetime.datetime: ...
    @_property
    def is_security_device_bound(self) -> bool: ...
    @_property
    def key_algorithm_name(self) -> str: ...
    @_property
    def key_usages(self) -> typing.Optional[CertificateKeyUsages]: ...
    @_property
    def signature_algorithm_name(self) -> str: ...
    @_property
    def signature_hash_algorithm_name(self) -> str: ...
    @_property
    def subject_alternative_name(self) -> typing.Optional[SubjectAlternativeNameInfo]: ...
    @_property
    def is_per_user(self) -> bool: ...
    @_property
    def key_storage_provider_name(self) -> str: ...
    @_property
    def store_name(self) -> str: ...

@typing.final
class CertificateChain(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CertificateChain: ...
    def get_certificates(self, include_root: bool, /) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[Certificate]]: ...
    @typing.overload
    def validate(self) -> ChainValidationResult: ...
    @typing.overload
    def validate(self, parameter: typing.Optional[ChainValidationParameters], /) -> ChainValidationResult: ...

@typing.final
class CertificateEnrollmentManager_Static(type):
    def create_request_async(cls, request: typing.Optional[CertificateRequestProperties], /) -> winrt.windows.foundation.IAsyncOperation[str]: ...
    @typing.overload
    def import_pfx_data_async(cls, pfx_data: str, password: str, pfx_import_parameters: typing.Optional[PfxImportParameters], /) -> winrt.windows.foundation.IAsyncAction: ...
    @typing.overload
    def import_pfx_data_async(cls, pfx_data: str, password: str, exportable: ExportOption, key_protection_level: KeyProtectionLevel, install_option: InstallOptions, friendly_name: str, /) -> winrt.windows.foundation.IAsyncAction: ...
    @typing.overload
    def import_pfx_data_async(cls, pfx_data: str, password: str, exportable: ExportOption, key_protection_level: KeyProtectionLevel, install_option: InstallOptions, friendly_name: str, key_storage_provider: str, /) -> winrt.windows.foundation.IAsyncAction: ...
    def install_certificate_async(cls, certificate: str, install_option: InstallOptions, /) -> winrt.windows.foundation.IAsyncAction: ...
    @_property
    def user_certificate_enrollment_manager(cls) -> typing.Optional[UserCertificateEnrollmentManager]: ...

@typing.final
class CertificateEnrollmentManager(winrt.system.Object, metaclass=CertificateEnrollmentManager_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CertificateEnrollmentManager: ...

@typing.final
class CertificateExtension(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CertificateExtension: ...
    def __new__(cls: typing.Type[CertificateExtension]) -> CertificateExtension:...
    def encode_value(self, value: str, /) -> None: ...
    @_property
    def value(self) -> winrt.system.UInt8: ...
    @value.setter
    def value(self, value: winrt.system.UInt8) -> None: ...
    @_property
    def object_id(self) -> str: ...
    @object_id.setter
    def object_id(self, value: str) -> None: ...
    @_property
    def is_critical(self) -> bool: ...
    @is_critical.setter
    def is_critical(self, value: bool) -> None: ...

@typing.final
class CertificateKeyUsages(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CertificateKeyUsages: ...
    def __new__(cls: typing.Type[CertificateKeyUsages]) -> CertificateKeyUsages:...
    @_property
    def non_repudiation(self) -> bool: ...
    @non_repudiation.setter
    def non_repudiation(self, value: bool) -> None: ...
    @_property
    def key_encipherment(self) -> bool: ...
    @key_encipherment.setter
    def key_encipherment(self, value: bool) -> None: ...
    @_property
    def key_certificate_sign(self) -> bool: ...
    @key_certificate_sign.setter
    def key_certificate_sign(self, value: bool) -> None: ...
    @_property
    def key_agreement(self) -> bool: ...
    @key_agreement.setter
    def key_agreement(self, value: bool) -> None: ...
    @_property
    def encipher_only(self) -> bool: ...
    @encipher_only.setter
    def encipher_only(self, value: bool) -> None: ...
    @_property
    def digital_signature(self) -> bool: ...
    @digital_signature.setter
    def digital_signature(self, value: bool) -> None: ...
    @_property
    def data_encipherment(self) -> bool: ...
    @data_encipherment.setter
    def data_encipherment(self, value: bool) -> None: ...
    @_property
    def crl_sign(self) -> bool: ...
    @crl_sign.setter
    def crl_sign(self, value: bool) -> None: ...

@typing.final
class CertificateQuery(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CertificateQuery: ...
    def __new__(cls: typing.Type[CertificateQuery]) -> CertificateQuery:...
    @_property
    def thumbprint(self) -> winrt.system.UInt8: ...
    @thumbprint.setter
    def thumbprint(self, value: winrt.system.UInt8) -> None: ...
    @_property
    def issuer_name(self) -> str: ...
    @issuer_name.setter
    def issuer_name(self, value: str) -> None: ...
    @_property
    def hardware_only(self) -> bool: ...
    @hardware_only.setter
    def hardware_only(self, value: bool) -> None: ...
    @_property
    def friendly_name(self) -> str: ...
    @friendly_name.setter
    def friendly_name(self, value: str) -> None: ...
    @_property
    def enhanced_key_usages(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[str]]: ...
    @_property
    def store_name(self) -> str: ...
    @store_name.setter
    def store_name(self, value: str) -> None: ...
    @_property
    def include_expired_certificates(self) -> bool: ...
    @include_expired_certificates.setter
    def include_expired_certificates(self, value: bool) -> None: ...
    @_property
    def include_duplicates(self) -> bool: ...
    @include_duplicates.setter
    def include_duplicates(self, value: bool) -> None: ...

@typing.final
class CertificateRequestProperties(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CertificateRequestProperties: ...
    def __new__(cls: typing.Type[CertificateRequestProperties]) -> CertificateRequestProperties:...
    @_property
    def subject(self) -> str: ...
    @subject.setter
    def subject(self, value: str) -> None: ...
    @_property
    def key_usages(self) -> EnrollKeyUsages: ...
    @key_usages.setter
    def key_usages(self, value: EnrollKeyUsages) -> None: ...
    @_property
    def key_storage_provider_name(self) -> str: ...
    @key_storage_provider_name.setter
    def key_storage_provider_name(self, value: str) -> None: ...
    @_property
    def key_size(self) -> winrt.system.UInt32: ...
    @key_size.setter
    def key_size(self, value: winrt.system.UInt32) -> None: ...
    @_property
    def exportable(self) -> ExportOption: ...
    @exportable.setter
    def exportable(self, value: ExportOption) -> None: ...
    @_property
    def key_protection_level(self) -> KeyProtectionLevel: ...
    @key_protection_level.setter
    def key_protection_level(self, value: KeyProtectionLevel) -> None: ...
    @_property
    def key_algorithm_name(self) -> str: ...
    @key_algorithm_name.setter
    def key_algorithm_name(self, value: str) -> None: ...
    @_property
    def hash_algorithm_name(self) -> str: ...
    @hash_algorithm_name.setter
    def hash_algorithm_name(self, value: str) -> None: ...
    @_property
    def friendly_name(self) -> str: ...
    @friendly_name.setter
    def friendly_name(self, value: str) -> None: ...
    @_property
    def attestation_credential_certificate(self) -> typing.Optional[Certificate]: ...
    @attestation_credential_certificate.setter
    def attestation_credential_certificate(self, value: typing.Optional[Certificate]) -> None: ...
    @_property
    def signing_certificate(self) -> typing.Optional[Certificate]: ...
    @signing_certificate.setter
    def signing_certificate(self, value: typing.Optional[Certificate]) -> None: ...
    @_property
    def smartcard_reader_name(self) -> str: ...
    @smartcard_reader_name.setter
    def smartcard_reader_name(self, value: str) -> None: ...
    @_property
    def use_existing_key(self) -> bool: ...
    @use_existing_key.setter
    def use_existing_key(self, value: bool) -> None: ...
    @_property
    def curve_parameters(self) -> winrt.system.UInt8: ...
    @curve_parameters.setter
    def curve_parameters(self, value: winrt.system.UInt8) -> None: ...
    @_property
    def curve_name(self) -> str: ...
    @curve_name.setter
    def curve_name(self, value: str) -> None: ...
    @_property
    def container_name_prefix(self) -> str: ...
    @container_name_prefix.setter
    def container_name_prefix(self, value: str) -> None: ...
    @_property
    def container_name(self) -> str: ...
    @container_name.setter
    def container_name(self, value: str) -> None: ...
    @_property
    def extensions(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[CertificateExtension]]: ...
    @_property
    def subject_alternative_name(self) -> typing.Optional[SubjectAlternativeNameInfo]: ...
    @_property
    def suppressed_defaults(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[str]]: ...

@typing.final
class CertificateStore(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CertificateStore: ...
    def add(self, certificate: typing.Optional[Certificate], /) -> None: ...
    def delete(self, certificate: typing.Optional[Certificate], /) -> None: ...
    @_property
    def name(self) -> str: ...

@typing.final
class CertificateStores_Static(type):
    @typing.overload
    def find_all_async(cls) -> winrt.windows.foundation.IAsyncOperation[winrt.windows.foundation.collections.IVectorView[Certificate]]: ...
    @typing.overload
    def find_all_async(cls, query: typing.Optional[CertificateQuery], /) -> winrt.windows.foundation.IAsyncOperation[winrt.windows.foundation.collections.IVectorView[Certificate]]: ...
    def get_store_by_name(cls, store_name: str, /) -> typing.Optional[CertificateStore]: ...
    def get_user_store_by_name(cls, store_name: str, /) -> typing.Optional[UserCertificateStore]: ...
    @_property
    def intermediate_certification_authorities(cls) -> typing.Optional[CertificateStore]: ...
    @_property
    def trusted_root_certification_authorities(cls) -> typing.Optional[CertificateStore]: ...

@typing.final
class CertificateStores(winrt.system.Object, metaclass=CertificateStores_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CertificateStores: ...

@typing.final
class ChainBuildingParameters(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ChainBuildingParameters: ...
    def __new__(cls: typing.Type[ChainBuildingParameters]) -> ChainBuildingParameters:...
    @_property
    def validation_timestamp(self) -> datetime.datetime: ...
    @validation_timestamp.setter
    def validation_timestamp(self, value: datetime.datetime) -> None: ...
    @_property
    def revocation_check_enabled(self) -> bool: ...
    @revocation_check_enabled.setter
    def revocation_check_enabled(self, value: bool) -> None: ...
    @_property
    def network_retrieval_enabled(self) -> bool: ...
    @network_retrieval_enabled.setter
    def network_retrieval_enabled(self, value: bool) -> None: ...
    @_property
    def current_time_validation_enabled(self) -> bool: ...
    @current_time_validation_enabled.setter
    def current_time_validation_enabled(self, value: bool) -> None: ...
    @_property
    def authority_information_access_enabled(self) -> bool: ...
    @authority_information_access_enabled.setter
    def authority_information_access_enabled(self, value: bool) -> None: ...
    @_property
    def enhanced_key_usages(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[str]]: ...
    @_property
    def exclusive_trust_roots(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[Certificate]]: ...

@typing.final
class ChainValidationParameters(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> ChainValidationParameters: ...
    def __new__(cls: typing.Type[ChainValidationParameters]) -> ChainValidationParameters:...
    @_property
    def server_dns_name(self) -> typing.Optional[winrt.windows.networking.HostName]: ...
    @server_dns_name.setter
    def server_dns_name(self, value: typing.Optional[winrt.windows.networking.HostName]) -> None: ...
    @_property
    def certificate_chain_policy(self) -> CertificateChainPolicy: ...
    @certificate_chain_policy.setter
    def certificate_chain_policy(self, value: CertificateChainPolicy) -> None: ...

@typing.final
class CmsAttachedSignature_Static(type):
    def generate_signature_async(cls, data: typing.Optional[winrt.windows.storage.streams.IBuffer], signers: typing.Iterable[CmsSignerInfo], certificates: typing.Iterable[Certificate], /) -> winrt.windows.foundation.IAsyncOperation[winrt.windows.storage.streams.IBuffer]: ...

@typing.final
class CmsAttachedSignature(winrt.system.Object, metaclass=CmsAttachedSignature_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CmsAttachedSignature: ...
    def __new__(cls: typing.Type[CmsAttachedSignature], input_blob: typing.Optional[winrt.windows.storage.streams.IBuffer]) -> CmsAttachedSignature:...
    def verify_signature(self) -> SignatureValidationResult: ...
    @_property
    def certificates(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[Certificate]]: ...
    @_property
    def content(self) -> winrt.system.UInt8: ...
    @_property
    def signers(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[CmsSignerInfo]]: ...

@typing.final
class CmsDetachedSignature_Static(type):
    def generate_signature_async(cls, data: typing.Optional[winrt.windows.storage.streams.IInputStream], signers: typing.Iterable[CmsSignerInfo], certificates: typing.Iterable[Certificate], /) -> winrt.windows.foundation.IAsyncOperation[winrt.windows.storage.streams.IBuffer]: ...

@typing.final
class CmsDetachedSignature(winrt.system.Object, metaclass=CmsDetachedSignature_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CmsDetachedSignature: ...
    def __new__(cls: typing.Type[CmsDetachedSignature], input_blob: typing.Optional[winrt.windows.storage.streams.IBuffer]) -> CmsDetachedSignature:...
    def verify_signature_async(self, data: typing.Optional[winrt.windows.storage.streams.IInputStream], /) -> winrt.windows.foundation.IAsyncOperation[SignatureValidationResult]: ...
    @_property
    def certificates(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[Certificate]]: ...
    @_property
    def signers(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[CmsSignerInfo]]: ...

@typing.final
class CmsSignerInfo(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CmsSignerInfo: ...
    def __new__(cls: typing.Type[CmsSignerInfo]) -> CmsSignerInfo:...
    @_property
    def hash_algorithm_name(self) -> str: ...
    @hash_algorithm_name.setter
    def hash_algorithm_name(self, value: str) -> None: ...
    @_property
    def certificate(self) -> typing.Optional[Certificate]: ...
    @certificate.setter
    def certificate(self, value: typing.Optional[Certificate]) -> None: ...
    @_property
    def timestamp_info(self) -> typing.Optional[CmsTimestampInfo]: ...

@typing.final
class CmsTimestampInfo(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> CmsTimestampInfo: ...
    @_property
    def certificates(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[Certificate]]: ...
    @_property
    def signing_certificate(self) -> typing.Optional[Certificate]: ...
    @_property
    def timestamp(self) -> datetime.datetime: ...

@typing.final
class KeyAlgorithmNames_Static(type):
    @_property
    def dsa(cls) -> str: ...
    @_property
    def ecdh256(cls) -> str: ...
    @_property
    def ecdh384(cls) -> str: ...
    @_property
    def ecdh521(cls) -> str: ...
    @_property
    def ecdsa256(cls) -> str: ...
    @_property
    def ecdsa384(cls) -> str: ...
    @_property
    def ecdsa521(cls) -> str: ...
    @_property
    def rsa(cls) -> str: ...
    @_property
    def ecdh(cls) -> str: ...
    @_property
    def ecdsa(cls) -> str: ...

@typing.final
class KeyAlgorithmNames(winrt.system.Object, metaclass=KeyAlgorithmNames_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> KeyAlgorithmNames: ...

@typing.final
class KeyAttestationHelper_Static(type):
    @typing.overload
    def decrypt_tpm_attestation_credential_async(cls, credential: str, /) -> winrt.windows.foundation.IAsyncOperation[str]: ...
    @typing.overload
    def decrypt_tpm_attestation_credential_async(cls, credential: str, container_name: str, /) -> winrt.windows.foundation.IAsyncOperation[str]: ...
    def get_tpm_attestation_credential_id(cls, credential: str, /) -> str: ...

@typing.final
class KeyAttestationHelper(winrt.system.Object, metaclass=KeyAttestationHelper_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> KeyAttestationHelper: ...

@typing.final
class KeyStorageProviderNames_Static(type):
    @_property
    def platform_key_storage_provider(cls) -> str: ...
    @_property
    def smartcard_key_storage_provider(cls) -> str: ...
    @_property
    def software_key_storage_provider(cls) -> str: ...
    @_property
    def passport_key_storage_provider(cls) -> str: ...

@typing.final
class KeyStorageProviderNames(winrt.system.Object, metaclass=KeyStorageProviderNames_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> KeyStorageProviderNames: ...

@typing.final
class PfxImportParameters(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> PfxImportParameters: ...
    def __new__(cls: typing.Type[PfxImportParameters]) -> PfxImportParameters:...
    @_property
    def reader_name(self) -> str: ...
    @reader_name.setter
    def reader_name(self, value: str) -> None: ...
    @_property
    def key_storage_provider_name(self) -> str: ...
    @key_storage_provider_name.setter
    def key_storage_provider_name(self, value: str) -> None: ...
    @_property
    def key_protection_level(self) -> KeyProtectionLevel: ...
    @key_protection_level.setter
    def key_protection_level(self, value: KeyProtectionLevel) -> None: ...
    @_property
    def install_options(self) -> InstallOptions: ...
    @install_options.setter
    def install_options(self, value: InstallOptions) -> None: ...
    @_property
    def friendly_name(self) -> str: ...
    @friendly_name.setter
    def friendly_name(self, value: str) -> None: ...
    @_property
    def exportable(self) -> ExportOption: ...
    @exportable.setter
    def exportable(self, value: ExportOption) -> None: ...
    @_property
    def container_name_prefix(self) -> str: ...
    @container_name_prefix.setter
    def container_name_prefix(self, value: str) -> None: ...

@typing.final
class StandardCertificateStoreNames_Static(type):
    @_property
    def intermediate_certification_authorities(cls) -> str: ...
    @_property
    def personal(cls) -> str: ...
    @_property
    def trusted_root_certification_authorities(cls) -> str: ...

@typing.final
class StandardCertificateStoreNames(winrt.system.Object, metaclass=StandardCertificateStoreNames_Static):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> StandardCertificateStoreNames: ...

@typing.final
class SubjectAlternativeNameInfo(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> SubjectAlternativeNameInfo: ...
    def __new__(cls: typing.Type[SubjectAlternativeNameInfo]) -> SubjectAlternativeNameInfo:...
    @_property
    def distinguished_name(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[str]]: ...
    @_property
    def dns_name(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[str]]: ...
    @_property
    def email_name(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[str]]: ...
    @_property
    def ip_address(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[str]]: ...
    @_property
    def principal_name(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[str]]: ...
    @_property
    def url(self) -> typing.Optional[winrt.windows.foundation.collections.IVectorView[str]]: ...
    @_property
    def distinguished_names(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[str]]: ...
    @_property
    def dns_names(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[str]]: ...
    @_property
    def email_names(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[str]]: ...
    @_property
    def extension(self) -> typing.Optional[CertificateExtension]: ...
    @_property
    def ip_addresses(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[str]]: ...
    @_property
    def principal_names(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[str]]: ...
    @_property
    def urls(self) -> typing.Optional[winrt.windows.foundation.collections.IVector[str]]: ...

@typing.final
class UserCertificateEnrollmentManager(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> UserCertificateEnrollmentManager: ...
    def create_request_async(self, request: typing.Optional[CertificateRequestProperties], /) -> winrt.windows.foundation.IAsyncOperation[str]: ...
    @typing.overload
    def import_pfx_data_async(self, pfx_data: str, password: str, pfx_import_parameters: typing.Optional[PfxImportParameters], /) -> winrt.windows.foundation.IAsyncAction: ...
    @typing.overload
    def import_pfx_data_async(self, pfx_data: str, password: str, exportable: ExportOption, key_protection_level: KeyProtectionLevel, install_option: InstallOptions, friendly_name: str, /) -> winrt.windows.foundation.IAsyncAction: ...
    @typing.overload
    def import_pfx_data_async(self, pfx_data: str, password: str, exportable: ExportOption, key_protection_level: KeyProtectionLevel, install_option: InstallOptions, friendly_name: str, key_storage_provider: str, /) -> winrt.windows.foundation.IAsyncAction: ...
    def install_certificate_async(self, certificate: str, install_option: InstallOptions, /) -> winrt.windows.foundation.IAsyncAction: ...

@typing.final
class UserCertificateStore(winrt.system.Object):
    @staticmethod
    def _from(obj: winrt.system.Object, /) -> UserCertificateStore: ...
    def request_add_async(self, certificate: typing.Optional[Certificate], /) -> winrt.windows.foundation.IAsyncOperation[bool]: ...
    def request_delete_async(self, certificate: typing.Optional[Certificate], /) -> winrt.windows.foundation.IAsyncOperation[bool]: ...
    @_property
    def name(self) -> str: ...

