use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_protocol!(
#[cfg(feature = "UIView")]
pub unsafe trait UITextSelectionHandleView:
UICoordinateSpace + IsMainThreadOnly
{
#[cfg(feature = "UIGeometry")]
#[method(direction)]
unsafe fn direction(&self) -> NSDirectionalRectEdge;
#[cfg(feature = "UIGeometry")]
#[method(setDirection:)]
unsafe fn setDirection(&self, direction: NSDirectionalRectEdge);
#[method(isVertical)]
unsafe fn isVertical(&self) -> bool;
#[cfg(feature = "UIBezierPath")]
#[method_id(@__retain_semantics Other customShape)]
unsafe fn customShape(&self) -> Option<Retained<UIBezierPath>>;
#[cfg(feature = "UIBezierPath")]
#[method(setCustomShape:)]
unsafe fn setCustomShape(&self, custom_shape: Option<&UIBezierPath>);
#[method(preferredFrameForRect:)]
unsafe fn preferredFrameForRect(&self, rect: CGRect) -> CGRect;
}
#[cfg(feature = "UIView")]
unsafe impl ProtocolType for dyn UITextSelectionHandleView {}
);