use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct CKShareMetadata;
unsafe impl ClassType for CKShareMetadata {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSCoding for CKShareMetadata {}
unsafe impl NSCopying for CKShareMetadata {}
unsafe impl NSObjectProtocol for CKShareMetadata {}
unsafe impl NSSecureCoding for CKShareMetadata {}
extern_methods!(
unsafe impl CKShareMetadata {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
#[method_id(@__retain_semantics Other containerIdentifier)]
pub unsafe fn containerIdentifier(&self) -> Retained<NSString>;
#[cfg(all(feature = "CKRecord", feature = "CKShare"))]
#[method_id(@__retain_semantics Other share)]
pub unsafe fn share(&self) -> Retained<CKShare>;
#[cfg(feature = "CKRecordID")]
#[method_id(@__retain_semantics Other hierarchicalRootRecordID)]
pub unsafe fn hierarchicalRootRecordID(&self) -> Option<Retained<CKRecordID>>;
#[cfg(feature = "CKShareParticipant")]
#[method(participantRole)]
pub unsafe fn participantRole(&self) -> CKShareParticipantRole;
#[cfg(feature = "CKShareParticipant")]
#[method(participantStatus)]
pub unsafe fn participantStatus(&self) -> CKShareParticipantAcceptanceStatus;
#[cfg(feature = "CKShareParticipant")]
#[method(participantPermission)]
pub unsafe fn participantPermission(&self) -> CKShareParticipantPermission;
#[cfg(feature = "CKUserIdentity")]
#[method_id(@__retain_semantics Other ownerIdentity)]
pub unsafe fn ownerIdentity(&self) -> Retained<CKUserIdentity>;
#[cfg(feature = "CKRecord")]
#[method_id(@__retain_semantics Other rootRecord)]
pub unsafe fn rootRecord(&self) -> Option<Retained<CKRecord>>;
#[cfg(feature = "CKShareParticipant")]
#[deprecated]
#[method(participantType)]
pub unsafe fn participantType(&self) -> CKShareParticipantType;
#[cfg(feature = "CKRecordID")]
#[deprecated]
#[method_id(@__retain_semantics Other rootRecordID)]
pub unsafe fn rootRecordID(&self) -> Retained<CKRecordID>;
}
);