use objc2::__framework_prelude::*;
use objc2_app_kit::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
pub unsafe trait ASAuthorizationPublicKeyCredentialAssertionRequest:
NSCopying + NSObjectProtocol + NSSecureCoding
{
#[method_id(@__retain_semantics Other challenge)]
unsafe fn challenge(&self) -> Id<NSData>;
#[method(setChallenge:)]
unsafe fn setChallenge(&self, challenge: &NSData);
#[method_id(@__retain_semantics Other relyingPartyIdentifier)]
unsafe fn relyingPartyIdentifier(&self) -> Id<NSString>;
#[method(setRelyingPartyIdentifier:)]
unsafe fn setRelyingPartyIdentifier(&self, relying_party_identifier: &NSString);
#[cfg(feature = "ASAuthorizationPublicKeyCredentialDescriptor")]
#[method_id(@__retain_semantics Other allowedCredentials)]
unsafe fn allowedCredentials(
&self,
) -> Id<NSArray<ProtocolObject<dyn ASAuthorizationPublicKeyCredentialDescriptor>>>;
#[cfg(feature = "ASAuthorizationPublicKeyCredentialDescriptor")]
#[method(setAllowedCredentials:)]
unsafe fn setAllowedCredentials(
&self,
allowed_credentials: &NSArray<
ProtocolObject<dyn ASAuthorizationPublicKeyCredentialDescriptor>,
>,
);
#[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,
);
}
unsafe impl ProtocolType for dyn ASAuthorizationPublicKeyCredentialAssertionRequest {}
);