use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[unsafe(super(NSObject))]
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct INPriceRange;
);
extern_conformance!(
unsafe impl NSCoding for INPriceRange {}
);
extern_conformance!(
unsafe impl NSCopying for INPriceRange {}
);
unsafe impl CopyingHelper for INPriceRange {
type Result = Self;
}
extern_conformance!(
unsafe impl NSObjectProtocol for INPriceRange {}
);
extern_conformance!(
unsafe impl NSSecureCoding for INPriceRange {}
);
impl INPriceRange {
extern_methods!(
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[unsafe(method(initWithRangeBetweenPrice:andPrice:currencyCode:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithRangeBetweenPrice_andPrice_currencyCode(
this: Allocated<Self>,
first_price: &NSDecimalNumber,
second_price: &NSDecimalNumber,
currency_code: &NSString,
) -> Retained<Self>;
#[unsafe(method(initWithMaximumPrice:currencyCode:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithMaximumPrice_currencyCode(
this: Allocated<Self>,
maximum_price: &NSDecimalNumber,
currency_code: &NSString,
) -> Retained<Self>;
#[unsafe(method(initWithMinimumPrice:currencyCode:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithMinimumPrice_currencyCode(
this: Allocated<Self>,
minimum_price: &NSDecimalNumber,
currency_code: &NSString,
) -> Retained<Self>;
#[unsafe(method(initWithPrice:currencyCode:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithPrice_currencyCode(
this: Allocated<Self>,
price: &NSDecimalNumber,
currency_code: &NSString,
) -> Retained<Self>;
#[unsafe(method(minimumPrice))]
#[unsafe(method_family = none)]
pub unsafe fn minimumPrice(&self) -> Option<Retained<NSDecimalNumber>>;
#[unsafe(method(maximumPrice))]
#[unsafe(method_family = none)]
pub unsafe fn maximumPrice(&self) -> Option<Retained<NSDecimalNumber>>;
#[unsafe(method(currencyCode))]
#[unsafe(method_family = none)]
pub unsafe fn currencyCode(&self) -> Retained<NSString>;
);
}
impl INPriceRange {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}