import { TurboModuleRegistry } from 'react-native'; import type { TurboModule } from 'react-native'; export interface Spec extends TurboModule { abort: () => Promise; addListener: (eventName: string) => void; canMakePayments: (methodData: string) => Promise; complete: (paymentComplete: string) => Promise; hasEnrolledInstrument: (methodData: string) => Promise; removeListeners: (count: number) => void; // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types retry: (requestId: string, errorFields: Object) => Promise; setActiveEvents: (requestId: string, eventNames: string[]) => Promise; // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types show: (requestId: string, methodData: string, details: Object) => Promise; // eslint-disable-next-line @typescript-eslint/no-wrapper-object-types updatePaymentDetails: (update: Object, displayItems: Object[], shippingOptions: Object[]) => Promise; } export default TurboModuleRegistry.get('Payments');