use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-core-foundation")]
use objc2_core_foundation::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UICornerConfiguration;
);
extern_conformance!(
unsafe impl NSCopying for UICornerConfiguration {}
);
unsafe impl CopyingHelper for UICornerConfiguration {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for UICornerConfiguration {}
);
impl UICornerConfiguration {
extern_methods!(
#[cfg(feature = "UICornerRadius")]
#[unsafe(method(configurationWithRadius:))]
#[unsafe(method_family = none)]
pub fn configurationWithRadius(radius: &UICornerRadius) -> Retained<Self>;
#[cfg(feature = "UICornerRadius")]
#[unsafe(method(configurationWithTopLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:))]
#[unsafe(method_family = none)]
pub fn configurationWithTopLeftRadius_topRightRadius_bottomLeftRadius_bottomRightRadius(
top_left_radius: Option<&UICornerRadius>,
top_right_radius: Option<&UICornerRadius>,
bottom_left_radius: Option<&UICornerRadius>,
bottom_right_radius: Option<&UICornerRadius>,
) -> Retained<Self>;
#[unsafe(method(capsuleConfiguration))]
#[unsafe(method_family = none)]
pub fn capsuleConfiguration() -> Retained<Self>;
#[cfg(feature = "objc2-core-foundation")]
#[unsafe(method(capsuleConfigurationWithMaximumRadius:))]
#[unsafe(method_family = none)]
pub fn capsuleConfigurationWithMaximumRadius(maximum_radius: CGFloat) -> Retained<Self>;
#[cfg(feature = "UICornerRadius")]
#[unsafe(method(configurationWithUniformRadius:))]
#[unsafe(method_family = none)]
pub fn configurationWithUniformRadius(radius: &UICornerRadius) -> Retained<Self>;
#[cfg(feature = "UICornerRadius")]
#[unsafe(method(configurationWithUniformTopRadius:uniformBottomRadius:))]
#[unsafe(method_family = none)]
pub fn configurationWithUniformTopRadius_uniformBottomRadius(
top_radius: &UICornerRadius,
bottom_radius: &UICornerRadius,
) -> Retained<Self>;
#[cfg(feature = "UICornerRadius")]
#[unsafe(method(configurationWithUniformLeftRadius:uniformRightRadius:))]
#[unsafe(method_family = none)]
pub fn configurationWithUniformLeftRadius_uniformRightRadius(
left_radius: &UICornerRadius,
right_radius: &UICornerRadius,
) -> Retained<Self>;
#[cfg(feature = "UICornerRadius")]
#[unsafe(method(configurationWithUniformTopRadius:bottomLeftRadius:bottomRightRadius:))]
#[unsafe(method_family = none)]
pub fn configurationWithUniformTopRadius_bottomLeftRadius_bottomRightRadius(
top_radius: &UICornerRadius,
bottom_left_radius: Option<&UICornerRadius>,
bottom_right_radius: Option<&UICornerRadius>,
) -> Retained<Self>;
#[cfg(feature = "UICornerRadius")]
#[unsafe(method(configurationWithUniformBottomRadius:topLeftRadius:topRightRadius:))]
#[unsafe(method_family = none)]
pub fn configurationWithUniformBottomRadius_topLeftRadius_topRightRadius(
bottom_radius: &UICornerRadius,
top_left_radius: Option<&UICornerRadius>,
top_right_radius: Option<&UICornerRadius>,
) -> Retained<Self>;
#[cfg(feature = "UICornerRadius")]
#[unsafe(method(configurationWithUniformLeftRadius:topRightRadius:bottomRightRadius:))]
#[unsafe(method_family = none)]
pub fn configurationWithUniformLeftRadius_topRightRadius_bottomRightRadius(
left_radius: &UICornerRadius,
top_right_radius: Option<&UICornerRadius>,
bottom_right_radius: Option<&UICornerRadius>,
) -> Retained<Self>;
#[cfg(feature = "UICornerRadius")]
#[unsafe(method(configurationWithUniformRightRadius:topLeftRadius:bottomLeftRadius:))]
#[unsafe(method_family = none)]
pub fn configurationWithUniformRightRadius_topLeftRadius_bottomLeftRadius(
right_radius: &UICornerRadius,
top_left_radius: Option<&UICornerRadius>,
bottom_left_radius: Option<&UICornerRadius>,
) -> Retained<Self>;
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}