import type { _NSDate } from "../Foundation/NSDate.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSTimeZone } from "../Foundation/NSTimeZone.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { _PKDeferredPaymentSummaryItem } from "./PKDeferredPaymentSummaryItem.js";
export declare class _PKDeferredPaymentRequest extends _NSObject {
    static alloc(): _PKDeferredPaymentRequest;
    static new(): _PKDeferredPaymentRequest;
    init(): _PKDeferredPaymentRequest;
    initWithPaymentDescription$deferredBilling$managementURL$(paymentDescription: _NSString, deferredBilling: _PKDeferredPaymentSummaryItem, managementURL: _NSURL): _PKDeferredPaymentRequest;
    /** A description of the deferred payment, for example "Hotel Stay, 2 nights". */
    paymentDescription(): _NSString;
    setPaymentDescription$(value: _NSString): void;
    /** Details about the deferred payment, for example "Pay $2.99 on January 9, 2022". */
    deferredBilling(): _PKDeferredPaymentSummaryItem;
    setDeferredBilling$(value: _PKDeferredPaymentSummaryItem): void;
    /**
     * Optional, localized billing agreement to be displayed to the user prior to payment authorization. This may include further details about the cancellation period or penalties for late cancellation.
     */
    billingAgreement(): _NSString | null;
    setBillingAgreement$(value: _NSString | null): void;
    /**
     * A URL that links to a page on your web site where the user can manage the payment method for this deferred payment, including deleting it.
     */
    managementURL(): _NSURL;
    setManagementURL$(value: _NSURL): void;
    /**
     * Optional URL to receive lifecycle notifications for the merchant-specific payment token issued for this request, if applicable. If this property is not set, notifications will not be sent when lifecycle changes occur for the token, for example when the token is deleted.
     */
    tokenNotificationURL(): _NSURL | null;
    setTokenNotificationURL$(value: _NSURL | null): void;
    /**
     * Optional, the last date before which cancellation charges don't apply. If `freeCancellationDate` is set, `freeCancellationDateTimeZone` must be set as well.
     */
    freeCancellationDate(): _NSDate | null;
    setFreeCancellationDate$(value: _NSDate | null): void;
    /**
     * Optional, the timezone of the "destination" of the payment. As an example, for a hotel booking, this refers to the local timezone of the hotel. On the payment sheet, this timezone will be used to format the cancellation date. If `freeCancellationDateTimeZone` date is set, `freeCancellationDate` must be set as well
     */
    freeCancellationDateTimeZone(): _NSTimeZone | null;
    setFreeCancellationDateTimeZone$(value: _NSTimeZone | null): void;
}
