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

use crate::*;

/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsnointerfacestyle?language=objc)
#[deprecated]
pub const NSNoInterfaceStyle: c_uint = 0;
/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsnextstepinterfacestyle?language=objc)
#[deprecated]
pub const NSNextStepInterfaceStyle: c_uint = 1;
/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nswindows95interfacestyle?language=objc)
#[deprecated]
pub const NSWindows95InterfaceStyle: c_uint = 2;
/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsmacintoshinterfacestyle?language=objc)
#[deprecated]
pub const NSMacintoshInterfaceStyle: c_uint = 3;

/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsinterfacestyle?language=objc)
#[deprecated]
pub type NSInterfaceStyle = NSUInteger;

extern "C-unwind" {
    /// # Safety
    ///
    /// - `key` might not allow `None`.
    /// - `responder` might not allow `None`.
    #[cfg(feature = "NSResponder")]
    #[deprecated]
    pub fn NSInterfaceStyleForKey(
        key: Option<&NSString>,
        responder: Option<&NSResponder>,
    ) -> NSInterfaceStyle;
}

/// NSInterfaceStyle.
#[cfg(feature = "NSResponder")]
impl NSResponder {
    extern_methods!(
        #[deprecated]
        #[unsafe(method(interfaceStyle))]
        #[unsafe(method_family = none)]
        pub fn interfaceStyle(&self) -> NSInterfaceStyle;

        #[deprecated]
        #[unsafe(method(setInterfaceStyle:))]
        #[unsafe(method_family = none)]
        pub fn setInterfaceStyle(&self, interface_style: NSInterfaceStyle);
    );
}

extern "C" {
    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsinterfacestyledefault?language=objc)
    #[deprecated]
    pub static NSInterfaceStyleDefault: Option<&'static NSString>;
}
