/** * Compatibility helper to use new arch events if available and fallback * to NativeEventEmitter or DeviceEventEmitter. * * Can be removed once we no longer need to support the old arch and use * the methods on NativeStripeSdkModule directly. */ import { EventSubscription } from 'react-native'; import type { EventEmitter } from 'react-native/Libraries/Types/CodegenTypes'; import { PaymentMethod } from './types'; import { UnsafeObject } from './specs/utils'; import { FinancialConnectionsEvent } from './types/FinancialConnections'; import { Result as ConfirmationTokenResult } from './types/ConfirmationToken'; type Events = { onConfirmHandlerCallback: EventEmitter<{ paymentMethod: UnsafeObject; shouldSavePaymentMethod: boolean; }>; onConfirmationTokenHandlerCallback: EventEmitter<{ confirmationToken: UnsafeObject; }>; onFinancialConnectionsEvent: EventEmitter>; onOrderTrackingCallback: EventEmitter; onCustomerAdapterFetchPaymentMethodsCallback: EventEmitter; onCustomerAdapterAttachPaymentMethodCallback: EventEmitter<{ paymentMethodId: string; }>; onCustomerAdapterDetachPaymentMethodCallback: EventEmitter<{ paymentMethodId: string; }>; onCustomerAdapterSetSelectedPaymentOptionCallback: EventEmitter<{ paymentOption: string; }>; onCustomerAdapterFetchSelectedPaymentOptionCallback: EventEmitter; onCustomerAdapterSetupIntentClientSecretForCustomerAttachCallback: EventEmitter; onCustomerSessionProviderSetupIntentClientSecret: EventEmitter; onCustomerSessionProviderCustomerSessionClientSecret: EventEmitter; embeddedPaymentElementDidUpdateHeight: EventEmitter>; embeddedPaymentElementWillPresent: EventEmitter; embeddedPaymentElementDidUpdatePaymentOption: EventEmitter>; embeddedPaymentElementFormSheetConfirmComplete: EventEmitter>; embeddedPaymentElementRowSelectionImmediateAction: EventEmitter; embeddedPaymentElementLoadingFailed: EventEmitter>; embeddedPaymentElementUpdateComplete: EventEmitter>; onCustomPaymentMethodConfirmHandlerCallback: EventEmitter>; paymentMethodMessagingElementDidUpdateHeight: EventEmitter>; paymentMethodMessagingElementConfigureResult: EventEmitter>; /** * Fired by native every time a `Checkout` instance's state transitions — * regardless of whether the mutation was JS-driven (e.g. `applyPromotionCode` * via `useCheckout`) or native-driven (e.g. `CurrencySelectorElement`). * `useCheckout` mirrors this into its `state` so the entire React tree * stays in sync with the underlying native session. */ checkoutSessionDidChangeState: EventEmitter<{ sessionKey: string; state: UnsafeObject; }>; }; export declare function addListener(event: EventT, handler: Parameters[0]): EventSubscription; type OnrampEventMap = { onCheckoutClientSecretRequested: void; }; type OnrampEvents = keyof OnrampEventMap; export declare function addOnrampListener(event: EventT, handler: (params: OnrampEventMap[EventT]) => void): EventSubscription; export {}; //# sourceMappingURL=events.d.ts.map