use objc2::__framework_prelude::*;
use objc2_app_kit::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
pub unsafe trait ASAuthorizationPublicKeyCredentialRegistrationRequest:
NSCopying + NSObjectProtocol + NSSecureCoding
{
#[method_id(@__retain_semantics Other relyingPartyIdentifier)]
unsafe fn relyingPartyIdentifier(&self) -> Id<NSString>;
#[method_id(@__retain_semantics Other userID)]
unsafe fn userID(&self) -> Id<NSData>;
#[method(setUserID:)]
unsafe fn setUserID(&self, user_id: &NSData);
#[method_id(@__retain_semantics Other name)]
unsafe fn name(&self) -> Id<NSString>;
#[method(setName:)]
unsafe fn setName(&self, name: &NSString);
#[method_id(@__retain_semantics Other displayName)]
unsafe fn displayName(&self) -> Option<Id<NSString>>;
#[method(setDisplayName:)]
unsafe fn setDisplayName(&self, display_name: Option<&NSString>);
#[method_id(@__retain_semantics Other challenge)]
unsafe fn challenge(&self) -> Id<NSData>;
#[method(setChallenge:)]
unsafe fn setChallenge(&self, challenge: &NSData);
#[cfg(feature = "ASAuthorizationPublicKeyCredentialConstants")]
#[method_id(@__retain_semantics Other userVerificationPreference)]
unsafe fn userVerificationPreference(
&self,
) -> Id<ASAuthorizationPublicKeyCredentialUserVerificationPreference>;
#[cfg(feature = "ASAuthorizationPublicKeyCredentialConstants")]
#[method(setUserVerificationPreference:)]
unsafe fn setUserVerificationPreference(
&self,
user_verification_preference: &ASAuthorizationPublicKeyCredentialUserVerificationPreference,
);
#[cfg(feature = "ASAuthorizationPublicKeyCredentialConstants")]
#[method_id(@__retain_semantics Other attestationPreference)]
unsafe fn attestationPreference(
&self,
) -> Id<ASAuthorizationPublicKeyCredentialAttestationKind>;
#[cfg(feature = "ASAuthorizationPublicKeyCredentialConstants")]
#[method(setAttestationPreference:)]
unsafe fn setAttestationPreference(
&self,
attestation_preference: &ASAuthorizationPublicKeyCredentialAttestationKind,
);
}
unsafe impl ProtocolType for dyn ASAuthorizationPublicKeyCredentialRegistrationRequest {}
);