import type { _SKPayment } from "./SKPayment.js";
import type { _SKPaymentQueue } from "./SKPaymentQueue.js";
import type { _SKProduct } from "./SKProduct.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSError } from "../Foundation/NSError.js";
export interface _SKPaymentTransactionObserver {
    /**
     * Sent when the transaction array has changed (additions or state changes). Client should check state of transactions and finish as appropriate.
     */
    paymentQueue$updatedTransactions$?(queue: _SKPaymentQueue, transactions: _NSArray): void;
    /**
     * Sent when transactions are removed from the queue (via finishTransaction:).
     * @deprecated Use AppStore.sync().
     */
    paymentQueue$removedTransactions$?(queue: _SKPaymentQueue, transactions: _NSArray): void;
    /**
     * Sent when an error is encountered while adding transactions from the user's purchase history back to the queue.
     * @deprecated Use AppStore.sync().
     */
    paymentQueue$restoreCompletedTransactionsFailedWithError$?(queue: _SKPaymentQueue, error: _NSError): void;
    /**
     * Sent when all transactions from the user's purchase history have successfully been added back to the queue.
     * @deprecated Use AppStore.sync().
     */
    paymentQueueRestoreCompletedTransactionsFinished$?(queue: _SKPaymentQueue): void;
    /**
     * Sent when the download state has changed.
     * @deprecated Hosted content is no longer supported.
     */
    paymentQueue$updatedDownloads$?(queue: _SKPaymentQueue, downloads: _NSArray): void;
    /**
     * Sent when a user initiates an IAP buy from the App Store
     * @deprecated Use PurchaseIntent.intents.
     */
    paymentQueue$shouldAddStorePayment$forProduct$?(queue: _SKPaymentQueue, payment: _SKPayment, product: _SKProduct): boolean;
    /** @deprecated Use Storefront.updates. */
    paymentQueueDidChangeStorefront$?(queue: _SKPaymentQueue): void;
    /**
     * Sent when entitlements for a user have changed and access to the specified IAPs has been revoked.
     * @deprecated Use Transaction.updates.
     */
    paymentQueue$didRevokeEntitlementsForProductIdentifiers$?(queue: _SKPaymentQueue, productIdentifiers: _NSArray): void;
}
