//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use crate::common::*;
use crate::CoreLocation::*;
use crate::Foundation::*;
use crate::HealthKit::*;
use crate::UniformTypeIdentifiers::*;

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    #[cfg(feature = "HealthKit_HKBiologicalSexObject")]
    pub struct HKBiologicalSexObject;

    #[cfg(feature = "HealthKit_HKBiologicalSexObject")]
    unsafe impl ClassType for HKBiologicalSexObject {
        type Super = NSObject;
        type Mutability = InteriorMutable;
    }
);

#[cfg(feature = "HealthKit_HKBiologicalSexObject")]
unsafe impl NSCoding for HKBiologicalSexObject {}

#[cfg(feature = "HealthKit_HKBiologicalSexObject")]
unsafe impl NSCopying for HKBiologicalSexObject {}

#[cfg(feature = "HealthKit_HKBiologicalSexObject")]
unsafe impl NSObjectProtocol for HKBiologicalSexObject {}

#[cfg(feature = "HealthKit_HKBiologicalSexObject")]
unsafe impl NSSecureCoding for HKBiologicalSexObject {}

extern_methods!(
    #[cfg(feature = "HealthKit_HKBiologicalSexObject")]
    unsafe impl HKBiologicalSexObject {
        #[method(biologicalSex)]
        pub unsafe fn biologicalSex(&self) -> HKBiologicalSex;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    #[cfg(feature = "HealthKit_HKBiologicalSexObject")]
    unsafe impl HKBiologicalSexObject {
        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Option<Allocated<Self>>) -> Id<Self>;

        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Id<Self>;
    }
);

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    #[cfg(feature = "HealthKit_HKBloodTypeObject")]
    pub struct HKBloodTypeObject;

    #[cfg(feature = "HealthKit_HKBloodTypeObject")]
    unsafe impl ClassType for HKBloodTypeObject {
        type Super = NSObject;
        type Mutability = InteriorMutable;
    }
);

#[cfg(feature = "HealthKit_HKBloodTypeObject")]
unsafe impl NSCoding for HKBloodTypeObject {}

#[cfg(feature = "HealthKit_HKBloodTypeObject")]
unsafe impl NSCopying for HKBloodTypeObject {}

#[cfg(feature = "HealthKit_HKBloodTypeObject")]
unsafe impl NSObjectProtocol for HKBloodTypeObject {}

#[cfg(feature = "HealthKit_HKBloodTypeObject")]
unsafe impl NSSecureCoding for HKBloodTypeObject {}

extern_methods!(
    #[cfg(feature = "HealthKit_HKBloodTypeObject")]
    unsafe impl HKBloodTypeObject {
        #[method(bloodType)]
        pub unsafe fn bloodType(&self) -> HKBloodType;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    #[cfg(feature = "HealthKit_HKBloodTypeObject")]
    unsafe impl HKBloodTypeObject {
        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Option<Allocated<Self>>) -> Id<Self>;

        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Id<Self>;
    }
);

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    #[cfg(feature = "HealthKit_HKFitzpatrickSkinTypeObject")]
    pub struct HKFitzpatrickSkinTypeObject;

    #[cfg(feature = "HealthKit_HKFitzpatrickSkinTypeObject")]
    unsafe impl ClassType for HKFitzpatrickSkinTypeObject {
        type Super = NSObject;
        type Mutability = InteriorMutable;
    }
);

#[cfg(feature = "HealthKit_HKFitzpatrickSkinTypeObject")]
unsafe impl NSCoding for HKFitzpatrickSkinTypeObject {}

#[cfg(feature = "HealthKit_HKFitzpatrickSkinTypeObject")]
unsafe impl NSCopying for HKFitzpatrickSkinTypeObject {}

#[cfg(feature = "HealthKit_HKFitzpatrickSkinTypeObject")]
unsafe impl NSObjectProtocol for HKFitzpatrickSkinTypeObject {}

#[cfg(feature = "HealthKit_HKFitzpatrickSkinTypeObject")]
unsafe impl NSSecureCoding for HKFitzpatrickSkinTypeObject {}

extern_methods!(
    #[cfg(feature = "HealthKit_HKFitzpatrickSkinTypeObject")]
    unsafe impl HKFitzpatrickSkinTypeObject {
        #[method(skinType)]
        pub unsafe fn skinType(&self) -> HKFitzpatrickSkinType;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    #[cfg(feature = "HealthKit_HKFitzpatrickSkinTypeObject")]
    unsafe impl HKFitzpatrickSkinTypeObject {
        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Option<Allocated<Self>>) -> Id<Self>;

        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Id<Self>;
    }
);

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    #[cfg(feature = "HealthKit_HKWheelchairUseObject")]
    pub struct HKWheelchairUseObject;

    #[cfg(feature = "HealthKit_HKWheelchairUseObject")]
    unsafe impl ClassType for HKWheelchairUseObject {
        type Super = NSObject;
        type Mutability = InteriorMutable;
    }
);

#[cfg(feature = "HealthKit_HKWheelchairUseObject")]
unsafe impl NSCoding for HKWheelchairUseObject {}

#[cfg(feature = "HealthKit_HKWheelchairUseObject")]
unsafe impl NSCopying for HKWheelchairUseObject {}

#[cfg(feature = "HealthKit_HKWheelchairUseObject")]
unsafe impl NSObjectProtocol for HKWheelchairUseObject {}

#[cfg(feature = "HealthKit_HKWheelchairUseObject")]
unsafe impl NSSecureCoding for HKWheelchairUseObject {}

extern_methods!(
    #[cfg(feature = "HealthKit_HKWheelchairUseObject")]
    unsafe impl HKWheelchairUseObject {
        #[method(wheelchairUse)]
        pub unsafe fn wheelchairUse(&self) -> HKWheelchairUse;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    #[cfg(feature = "HealthKit_HKWheelchairUseObject")]
    unsafe impl HKWheelchairUseObject {
        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Option<Allocated<Self>>) -> Id<Self>;

        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Id<Self>;
    }
);

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    #[cfg(feature = "HealthKit_HKActivityMoveModeObject")]
    pub struct HKActivityMoveModeObject;

    #[cfg(feature = "HealthKit_HKActivityMoveModeObject")]
    unsafe impl ClassType for HKActivityMoveModeObject {
        type Super = NSObject;
        type Mutability = InteriorMutable;
    }
);

#[cfg(feature = "HealthKit_HKActivityMoveModeObject")]
unsafe impl NSCoding for HKActivityMoveModeObject {}

#[cfg(feature = "HealthKit_HKActivityMoveModeObject")]
unsafe impl NSCopying for HKActivityMoveModeObject {}

#[cfg(feature = "HealthKit_HKActivityMoveModeObject")]
unsafe impl NSObjectProtocol for HKActivityMoveModeObject {}

#[cfg(feature = "HealthKit_HKActivityMoveModeObject")]
unsafe impl NSSecureCoding for HKActivityMoveModeObject {}

extern_methods!(
    #[cfg(feature = "HealthKit_HKActivityMoveModeObject")]
    unsafe impl HKActivityMoveModeObject {
        #[method(activityMoveMode)]
        pub unsafe fn activityMoveMode(&self) -> HKActivityMoveMode;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    #[cfg(feature = "HealthKit_HKActivityMoveModeObject")]
    unsafe impl HKActivityMoveModeObject {
        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Option<Allocated<Self>>) -> Id<Self>;

        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Id<Self>;
    }
);
