//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-core-data")]
#[cfg(target_vendor = "apple")]
use objc2_core_data::*;
use objc2_foundation::*;

use crate::*;

/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsbindingname?language=objc)
// NS_TYPED_EXTENSIBLE_ENUM
pub type NSBindingName = NSString;

/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsbindingoption?language=objc)
// NS_TYPED_ENUM
pub type NSBindingOption = NSString;

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsbindingselectionmarker?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct NSBindingSelectionMarker;
);

extern_conformance!(
    unsafe impl NSCopying for NSBindingSelectionMarker {}
);

unsafe impl CopyingHelper for NSBindingSelectionMarker {
    type Result = Self;
}

extern_conformance!(
    unsafe impl NSObjectProtocol for NSBindingSelectionMarker {}
);

impl NSBindingSelectionMarker {
    extern_methods!(
        #[unsafe(method(init))]
        #[unsafe(method_family = init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[unsafe(method(multipleValuesSelectionMarker))]
        #[unsafe(method_family = none)]
        pub fn multipleValuesSelectionMarker() -> Retained<NSBindingSelectionMarker>;

        #[unsafe(method(noSelectionMarker))]
        #[unsafe(method_family = none)]
        pub fn noSelectionMarker() -> Retained<NSBindingSelectionMarker>;

        #[unsafe(method(notApplicableSelectionMarker))]
        #[unsafe(method_family = none)]
        pub fn notApplicableSelectionMarker() -> Retained<NSBindingSelectionMarker>;

        /// # Safety
        ///
        /// - `placeholder` should be of the correct type.
        /// - `object_class` probably has further requirements.
        #[unsafe(method(setDefaultPlaceholder:forMarker:onClass:withBinding:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setDefaultPlaceholder_forMarker_onClass_withBinding(
            placeholder: Option<&AnyObject>,
            marker: Option<&NSBindingSelectionMarker>,
            object_class: &AnyClass,
            binding: &NSBindingName,
        );

        /// # Safety
        ///
        /// `object_class` probably has further requirements.
        #[unsafe(method(defaultPlaceholderForMarker:onClass:withBinding:))]
        #[unsafe(method_family = none)]
        pub unsafe fn defaultPlaceholderForMarker_onClass_withBinding(
            marker: Option<&NSBindingSelectionMarker>,
            object_class: &AnyClass,
            binding: &NSBindingName,
        ) -> Option<Retained<AnyObject>>;
    );
}

/// Methods declared on superclass `NSObject`.
impl NSBindingSelectionMarker {
    extern_methods!(
        #[unsafe(method(new))]
        #[unsafe(method_family = new)]
        pub unsafe fn new() -> Retained<Self>;
    );
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsmultiplevaluesmarker?language=objc)
    #[deprecated]
    pub static NSMultipleValuesMarker: &'static AnyObject;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsnoselectionmarker?language=objc)
    #[deprecated]
    pub static NSNoSelectionMarker: &'static AnyObject;
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsnotapplicablemarker?language=objc)
    #[deprecated]
    pub static NSNotApplicableMarker: &'static AnyObject;
}

/// # Safety
///
/// `object` should be of the correct type.
#[inline]
pub unsafe extern "C-unwind" fn NSIsControllerMarker(object: Option<&AnyObject>) -> bool {
    extern "C-unwind" {
        fn NSIsControllerMarker(object: Option<&AnyObject>) -> Bool;
    }
    unsafe { NSIsControllerMarker(object) }.as_bool()
}

/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsbindinginfokey?language=objc)
// NS_TYPED_ENUM
pub type NSBindingInfoKey = NSString;

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

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

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

mod private_NSObjectNSKeyValueBindingCreation {
    pub trait Sealed {}
}

/// Category "NSKeyValueBindingCreation" on [`NSObject`].
#[doc(alias = "NSKeyValueBindingCreation")]
pub unsafe trait NSObjectNSKeyValueBindingCreation:
    ClassType + Sized + private_NSObjectNSKeyValueBindingCreation::Sealed
{
    extern_methods!(
        #[unsafe(method(exposeBinding:))]
        #[unsafe(method_family = none)]
        fn exposeBinding(binding: &NSBindingName);

        #[unsafe(method(exposedBindings))]
        #[unsafe(method_family = none)]
        fn exposedBindings(&self) -> Retained<NSArray<NSBindingName>>;

        #[unsafe(method(valueClassForBinding:))]
        #[unsafe(method_family = none)]
        fn valueClassForBinding(&self, binding: &NSBindingName) -> Option<&'static AnyClass>;

        /// # Safety
        ///
        /// - `observable` should be of the correct type.
        /// - `options` generic should be of the correct type.
        #[unsafe(method(bind:toObject:withKeyPath:options:))]
        #[unsafe(method_family = none)]
        unsafe fn bind_toObject_withKeyPath_options(
            &self,
            binding: &NSBindingName,
            observable: &AnyObject,
            key_path: &NSString,
            options: Option<&NSDictionary<NSBindingOption, AnyObject>>,
        );

        #[unsafe(method(unbind:))]
        #[unsafe(method_family = none)]
        fn unbind(&self, binding: &NSBindingName);

        #[unsafe(method(infoForBinding:))]
        #[unsafe(method_family = none)]
        fn infoForBinding(
            &self,
            binding: &NSBindingName,
        ) -> Option<Retained<NSDictionary<NSBindingInfoKey, AnyObject>>>;

        #[cfg(feature = "objc2-core-data")]
        #[cfg(target_vendor = "apple")]
        #[unsafe(method(optionDescriptionsForBinding:))]
        #[unsafe(method_family = none)]
        fn optionDescriptionsForBinding(
            &self,
            binding: &NSBindingName,
        ) -> Retained<NSArray<NSAttributeDescription>>;
    );
}

impl private_NSObjectNSKeyValueBindingCreation::Sealed for NSObject {}
unsafe impl NSObjectNSKeyValueBindingCreation for NSObject {}

extern_protocol!(
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nseditor?language=objc)
    pub unsafe trait NSEditor: NSObjectProtocol + MainThreadOnly {
        #[unsafe(method(discardEditing))]
        #[unsafe(method_family = none)]
        fn discardEditing(&self);

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

        /// # Safety
        ///
        /// - `delegate` should be of the correct type.
        /// - `did_commit_selector` must be a valid selector.
        /// - `context_info` must be a valid pointer or null.
        #[unsafe(method(commitEditingWithDelegate:didCommitSelector:contextInfo:))]
        #[unsafe(method_family = none)]
        unsafe fn commitEditingWithDelegate_didCommitSelector_contextInfo(
            &self,
            delegate: Option<&AnyObject>,
            did_commit_selector: Option<Sel>,
            context_info: *mut c_void,
        );

        #[unsafe(method(commitEditingAndReturnError:_))]
        #[unsafe(method_family = none)]
        fn commitEditingAndReturnError(&self) -> Result<(), Retained<NSError>>;
    }
);

extern_protocol!(
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nseditorregistration?language=objc)
    pub unsafe trait NSEditorRegistration: NSObjectProtocol + MainThreadOnly {
        #[optional]
        #[unsafe(method(objectDidBeginEditing:))]
        #[unsafe(method_family = none)]
        fn objectDidBeginEditing(&self, editor: &ProtocolObject<dyn NSEditor>);

        #[optional]
        #[unsafe(method(objectDidEndEditing:))]
        #[unsafe(method_family = none)]
        fn objectDidEndEditing(&self, editor: &ProtocolObject<dyn NSEditor>);
    }
);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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