import { AndroidPaymentResponse } from '../payment-response/android-payment-response'; import { IosPaymentResponse } from '../payment-response/ios-payment-response'; import type { PaymentDetailsInit } from '../../@standard/w3c/payment-details-init'; import type { PaymentMethodData } from '../../@standard/w3c/payment-method-data'; import type { PaymentResponseAddressInterface } from '../../interface/payment-response-address.interface'; import type { PaymentMethodChangeEventListener } from '../../type/payment-method-change-event-listener.type'; import type { PaymentRequestEventListener } from '../../type/payment-request-event-listener.type'; import type { PaymentRequestEventType } from '../../type/payment-request-event.type'; import type { Maybe } from '@rnw-community/shared'; /** * The W3C Payment Request API entry point; construct one per checkout attempt and call `show()` to present it. * * @see https://developers.google.com/pay/api/android/support/troubleshooting * @see https://developers.google.com/pay/api/web/reference/error-objects */ export declare class PaymentRequest { readonly methodData: PaymentMethodData[]; details: PaymentDetailsInit; readonly id: string; updating: boolean; state: 'closed' | 'created' | 'interactive'; couponCode: Maybe; shippingAddress: Maybe; shippingOption: Maybe; private readonly serializedMethodData; private readonly nativePlatformMethodData; private readonly platformMethodData; private readonly eventRegistrations; private readonly pendingDispatchers; private readonly attributeHandlers; private readonly attributeHandlerWrappers; private eventGeneration; private isNativeEventsSynced; private acceptPromiseRejecter; constructor(methodData: PaymentMethodData[], details: PaymentDetailsInit); /** * The W3C `PaymentRequest.onshippingaddresschange` event handler attribute. * * @see https://www.w3.org/TR/payment-request/#dom-paymentrequest-onshippingaddresschange */ get onshippingaddresschange(): Maybe; /** * The W3C `PaymentRequest.onshippingoptionchange` event handler attribute. * * @see https://www.w3.org/TR/payment-request/#dom-paymentrequest-onshippingoptionchange */ get onshippingoptionchange(): Maybe; /** * The W3C `PaymentRequest.onpaymentmethodchange` event handler attribute. * * @see https://www.w3.org/TR/payment-request/#dom-paymentrequest-onpaymentmethodchange */ get onpaymentmethodchange(): Maybe; /** * The Apple PassKit `couponcodechange` event handler attribute extension (not part of the W3C spec). * * @see https://developer.apple.com/documentation/passkit/pkpaymentrequest/3801275-couponcode?language=objc */ get oncouponcodechange(): Maybe; set onshippingaddresschange(listener: Maybe); set onshippingoptionchange(listener: Maybe); set onpaymentmethodchange(listener: Maybe); set oncouponcodechange(listener: Maybe); /** * The W3C `PaymentRequest.canMakePayment()` method. * * @see https://www.w3.org/TR/payment-request/#canmakepayment-method */ canMakePayment(): Promise; /** * The W3C `PaymentRequest.hasEnrolledInstrument()` method. * * @see https://www.w3.org/TR/payment-request/#hasenrolledinstrument-method */ hasEnrolledInstrument(): Promise; /** * The W3C `PaymentRequest.show()` method. * * @see https://www.w3.org/TR/payment-request/#show-method */ show(): Promise; /** * The W3C `PaymentRequest.abort()` method. * * @see https://www.w3.org/TR/payment-request/#abort-method */ abort(): Promise; /** * Registers a listener for `paymentmethodchange`, which receives a `PaymentMethodChangeEvent`. * * @see https://github.com/rnw-community/rnw-community/blob/master/packages/react-native-payments/docs/api/payment-request.md * @see https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener */ addEventListener(type: 'paymentmethodchange', listener: PaymentMethodChangeEventListener): void; /** * Registers a listener for a payment request change event, which receives a `PaymentRequestUpdateEvent`. * * @see https://github.com/rnw-community/rnw-community/blob/master/packages/react-native-payments/docs/api/payment-request.md * @see https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener */ addEventListener(type: PaymentRequestEventType, listener: PaymentRequestEventListener): void; /** * Removes a listener previously registered for `paymentmethodchange`. * * @see https://github.com/rnw-community/rnw-community/blob/master/packages/react-native-payments/docs/api/payment-request.md * @see https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener */ removeEventListener(type: 'paymentmethodchange', listener: PaymentMethodChangeEventListener): void; /** * Removes a listener previously registered for a payment request change event. * * @see https://github.com/rnw-community/rnw-community/blob/master/packages/react-native-payments/docs/api/payment-request.md * @see https://dom.spec.whatwg.org/#dom-eventtarget-removeeventlistener */ removeEventListener(type: PaymentRequestEventType, listener: PaymentRequestEventListener): void; private getShowMethodData; private closeRequest; private validateConstructorInputs; private getAttributeHandler; private setAttributeHandler; private ensureAttributeHandlerWrapper; private removeAttributeHandlerWrapper; private dispatchToAttributeHandler; private handleAccept; private subscribeToNativeEvent; private dropRegistration; private syncActiveEvents; private clearEventRegistrations; private forgetListener; private handleChangeEvent; private isDispatchActive; private dispatchChangeEvent; private applyEventPayload; private resolveDetailsUpdate; private sendDetailsUpdate; private getUpdatedDetails; private resolveEffectiveDetails; private getPlatformSupportedMethod; private findPlatformPaymentMethodData; private getReadyToPayDetails; private getAndroidPaymentMethodData; private getIosPaymentMethodData; private getRequestedShippingFields; } //# sourceMappingURL=payment-request.d.ts.map