use objc2::__framework_prelude::*;
use objc2_app_kit::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
pub unsafe trait ASCredentialIdentity: NSObjectProtocol {
#[cfg(feature = "ASCredentialServiceIdentifier")]
#[method_id(@__retain_semantics Other serviceIdentifier)]
unsafe fn serviceIdentifier(&self) -> Id<ASCredentialServiceIdentifier>;
#[method_id(@__retain_semantics Other user)]
unsafe fn user(&self) -> Id<NSString>;
#[method_id(@__retain_semantics Other recordIdentifier)]
unsafe fn recordIdentifier(&self) -> Option<Id<NSString>>;
#[method(rank)]
unsafe fn rank(&self) -> NSInteger;
#[method(setRank:)]
unsafe fn setRank(&self, rank: NSInteger);
}
unsafe impl ProtocolType for dyn ASCredentialIdentity {}
);