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

use crate::*;

/// UIKitAdditions.
#[cfg(feature = "UIFocus")]
impl UIFocusUpdateContext {
    extern_methods!(
        #[cfg(all(feature = "UIResponder", feature = "UIView"))]
        /// The view that was focused before the update. May be nil if no view was focused, such as when setting initial focus.
        /// If previouslyFocusedItem is not a view, this returns that item's containing view, otherwise they are equal.
        /// NOTE: This property will be deprecated in a future release. Use previouslyFocusedItem instead.
        #[unsafe(method(previouslyFocusedView))]
        #[unsafe(method_family = none)]
        pub fn previouslyFocusedView(&self) -> Option<Retained<UIView>>;

        #[cfg(all(feature = "UIResponder", feature = "UIView"))]
        /// The view that will be focused after the update. May be nil if no view will be focused.
        /// If nextFocusedItem is not a view, this returns that item's containing view, otherwise they are equal.
        /// NOTE: This property will be deprecated in a future release. Use nextFocusedItem instead.
        #[unsafe(method(nextFocusedView))]
        #[unsafe(method_family = none)]
        pub fn nextFocusedView(&self) -> Option<Retained<UIView>>;
    );
}
