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

use crate::*;

mod private_NSItemProviderNSItemSourceInfo {
    pub trait Sealed {}
}

/// Category "NSItemSourceInfo" on [`NSItemProvider`].
#[doc(alias = "NSItemSourceInfo")]
pub unsafe trait NSItemProviderNSItemSourceInfo:
    ClassType + Sized + private_NSItemProviderNSItemSourceInfo::Sealed
{
    extern_methods!(
        #[unsafe(method(sourceFrame))]
        #[unsafe(method_family = none)]
        fn sourceFrame(&self) -> NSRect;

        #[unsafe(method(containerFrame))]
        #[unsafe(method_family = none)]
        fn containerFrame(&self) -> NSRect;

        #[unsafe(method(preferredPresentationSize))]
        #[unsafe(method_family = none)]
        fn preferredPresentationSize(&self) -> NSSize;
    );
}

impl private_NSItemProviderNSItemSourceInfo::Sealed for NSItemProvider {}
unsafe impl NSItemProviderNSItemSourceInfo for NSItemProvider {}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstypeidentifierdatetext?language=objc)
    pub static NSTypeIdentifierDateText: &'static NSString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstypeidentifieraddresstext?language=objc)
    pub static NSTypeIdentifierAddressText: &'static NSString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstypeidentifierphonenumbertext?language=objc)
    pub static NSTypeIdentifierPhoneNumberText: &'static NSString;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstypeidentifiertransitinformationtext?language=objc)
    pub static NSTypeIdentifierTransitInformationText: &'static NSString;
}
