use core::ffi::*;
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 PKRecurringPaymentRequest;
);
extern_conformance!(
unsafe impl NSObjectProtocol for PKRecurringPaymentRequest {}
);
impl PKRecurringPaymentRequest {
extern_methods!(
#[unsafe(method(paymentDescription))]
#[unsafe(method_family = none)]
pub unsafe fn paymentDescription(&self) -> Retained<NSString>;
#[unsafe(method(setPaymentDescription:))]
#[unsafe(method_family = none)]
pub unsafe fn setPaymentDescription(&self, payment_description: &NSString);
#[cfg(all(
feature = "PKPaymentSummaryItem",
feature = "PKRecurringPaymentSummaryItem"
))]
#[unsafe(method(regularBilling))]
#[unsafe(method_family = none)]
pub unsafe fn regularBilling(&self) -> Retained<PKRecurringPaymentSummaryItem>;
#[cfg(all(
feature = "PKPaymentSummaryItem",
feature = "PKRecurringPaymentSummaryItem"
))]
#[unsafe(method(setRegularBilling:))]
#[unsafe(method_family = none)]
pub unsafe fn setRegularBilling(&self, regular_billing: &PKRecurringPaymentSummaryItem);
#[cfg(all(
feature = "PKPaymentSummaryItem",
feature = "PKRecurringPaymentSummaryItem"
))]
#[unsafe(method(trialBilling))]
#[unsafe(method_family = none)]
pub unsafe fn trialBilling(&self) -> Option<Retained<PKRecurringPaymentSummaryItem>>;
#[cfg(all(
feature = "PKPaymentSummaryItem",
feature = "PKRecurringPaymentSummaryItem"
))]
#[unsafe(method(setTrialBilling:))]
#[unsafe(method_family = none)]
pub unsafe fn setTrialBilling(&self, trial_billing: Option<&PKRecurringPaymentSummaryItem>);
#[unsafe(method(billingAgreement))]
#[unsafe(method_family = none)]
pub unsafe fn billingAgreement(&self) -> Option<Retained<NSString>>;
#[unsafe(method(setBillingAgreement:))]
#[unsafe(method_family = none)]
pub unsafe fn setBillingAgreement(&self, billing_agreement: Option<&NSString>);
#[unsafe(method(managementURL))]
#[unsafe(method_family = none)]
pub unsafe fn managementURL(&self) -> Retained<NSURL>;
#[unsafe(method(setManagementURL:))]
#[unsafe(method_family = none)]
pub unsafe fn setManagementURL(&self, management_url: &NSURL);
#[unsafe(method(tokenNotificationURL))]
#[unsafe(method_family = none)]
pub unsafe fn tokenNotificationURL(&self) -> Option<Retained<NSURL>>;
#[unsafe(method(setTokenNotificationURL:))]
#[unsafe(method_family = none)]
pub unsafe fn setTokenNotificationURL(&self, token_notification_url: Option<&NSURL>);
#[unsafe(method(init))]
#[unsafe(method_family = init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[cfg(all(
feature = "PKPaymentSummaryItem",
feature = "PKRecurringPaymentSummaryItem"
))]
#[unsafe(method(initWithPaymentDescription:regularBilling:managementURL:))]
#[unsafe(method_family = init)]
pub unsafe fn initWithPaymentDescription_regularBilling_managementURL(
this: Allocated<Self>,
payment_description: &NSString,
regular_billing: &PKRecurringPaymentSummaryItem,
management_url: &NSURL,
) -> Retained<Self>;
);
}
impl PKRecurringPaymentRequest {
extern_methods!(
#[unsafe(method(new))]
#[unsafe(method_family = new)]
pub unsafe fn new() -> Retained<Self>;
);
}