use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct MLImageConstraint;
);
extern_conformance!(
unsafe impl NSCoding for MLImageConstraint {}
);
extern_conformance!(
unsafe impl NSObjectProtocol for MLImageConstraint {}
);
extern_conformance!(
unsafe impl NSSecureCoding for MLImageConstraint {}
);
impl MLImageConstraint {
extern_methods!(
#[unsafe(method(pixelsHigh))]
#[unsafe(method_family = none)]
pub unsafe fn pixelsHigh(&self) -> NSInteger;
#[unsafe(method(pixelsWide))]
#[unsafe(method_family = none)]
pub unsafe fn pixelsWide(&self) -> NSInteger;
#[unsafe(method(pixelFormatType))]
#[unsafe(method_family = none)]
pub unsafe fn pixelFormatType(&self) -> OSType;
#[cfg(feature = "MLImageSizeConstraint")]
#[unsafe(method(sizeConstraint))]
#[unsafe(method_family = none)]
pub unsafe fn sizeConstraint(&self) -> Retained<MLImageSizeConstraint>;
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
);
}
impl MLImageConstraint {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}