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

use crate::*;

extern_protocol!(
    pub unsafe trait UIAccessibilityIdentification: NSObjectProtocol {
        #[method_id(@__retain_semantics Other accessibilityIdentifier)]
        unsafe fn accessibilityIdentifier(&self) -> Option<Retained<NSString>>;

        #[method(setAccessibilityIdentifier:)]
        unsafe fn setAccessibilityIdentifier(&self, accessibility_identifier: Option<&NSString>);
    }

    unsafe impl ProtocolType for dyn UIAccessibilityIdentification {}
);

extern_methods!(
    /// UIAccessibility
    #[cfg(all(feature = "UIResponder", feature = "UIView"))]
    unsafe impl UIView {}
);

#[cfg(all(feature = "UIResponder", feature = "UIView"))]
unsafe impl UIAccessibilityIdentification for UIView {}

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

#[cfg(feature = "UIBarItem")]
unsafe impl UIAccessibilityIdentification for UIBarItem {}

extern_methods!(
    /// UIAccessibility
    #[cfg(feature = "UIAlertController")]
    unsafe impl UIAlertAction {}
);

#[cfg(feature = "UIAlertController")]
unsafe impl UIAccessibilityIdentification for UIAlertAction {}

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

#[cfg(feature = "UIMenuElement")]
unsafe impl UIAccessibilityIdentification for UIMenuElement {}

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

#[cfg(feature = "UIImage")]
unsafe impl UIAccessibilityIdentification for UIImage {}
