//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

extern_methods!(
    /// CIImageProvider
    #[cfg(feature = "CIImage")]
    unsafe impl CIImage {}
);

extern_category!(
    /// Category "CIImageProvider" on [`NSObject`].
    #[doc(alias = "CIImageProvider")]
    pub unsafe trait NSObjectCIImageProvider {
        #[method(provideImageData:bytesPerRow:origin::size::userInfo:)]
        unsafe fn provideImageData_bytesPerRow_origin__size__userInfo(
            &self,
            data: NonNull<c_void>,
            rowbytes: usize,
            x: usize,
            y: usize,
            width: usize,
            height: usize,
            info: Option<&AnyObject>,
        );
    }

    unsafe impl NSObjectCIImageProvider for NSObject {}
);

extern "C" {
    #[cfg(feature = "CIImage")]
    pub static kCIImageProviderTileSize: &'static CIImageOption;
}

extern "C" {
    #[cfg(feature = "CIImage")]
    pub static kCIImageProviderUserInfo: &'static CIImageOption;
}
