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 ICScannerBandData;
);
extern_conformance!(
unsafe impl NSObjectProtocol for ICScannerBandData {}
);
impl ICScannerBandData {
extern_methods!(
#[unsafe(method(fullImageWidth))]
#[unsafe(method_family = none)]
pub unsafe fn fullImageWidth(&self) -> NSUInteger;
#[unsafe(method(fullImageHeight))]
#[unsafe(method_family = none)]
pub unsafe fn fullImageHeight(&self) -> NSUInteger;
#[unsafe(method(bitsPerPixel))]
#[unsafe(method_family = none)]
pub unsafe fn bitsPerPixel(&self) -> NSUInteger;
#[unsafe(method(bitsPerComponent))]
#[unsafe(method_family = none)]
pub unsafe fn bitsPerComponent(&self) -> NSUInteger;
#[unsafe(method(numComponents))]
#[unsafe(method_family = none)]
pub unsafe fn numComponents(&self) -> NSUInteger;
#[unsafe(method(isBigEndian))]
#[unsafe(method_family = none)]
pub unsafe fn isBigEndian(&self) -> bool;
#[cfg(feature = "ICScannerFunctionalUnits")]
#[unsafe(method(pixelDataType))]
#[unsafe(method_family = none)]
pub unsafe fn pixelDataType(&self) -> ICScannerPixelDataType;
#[unsafe(method(colorSyncProfilePath))]
#[unsafe(method_family = none)]
pub unsafe fn colorSyncProfilePath(&self) -> Option<Retained<NSString>>;
#[unsafe(method(bytesPerRow))]
#[unsafe(method_family = none)]
pub unsafe fn bytesPerRow(&self) -> NSUInteger;
#[unsafe(method(dataStartRow))]
#[unsafe(method_family = none)]
pub unsafe fn dataStartRow(&self) -> NSUInteger;
#[unsafe(method(dataNumRows))]
#[unsafe(method_family = none)]
pub unsafe fn dataNumRows(&self) -> NSUInteger;
#[unsafe(method(dataSize))]
#[unsafe(method_family = none)]
pub unsafe fn dataSize(&self) -> NSUInteger;
#[unsafe(method(dataBuffer))]
#[unsafe(method_family = none)]
pub unsafe fn dataBuffer(&self) -> Option<Retained<NSData>>;
);
}
impl ICScannerBandData {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}