import { TurboModuleRegistry } from 'react-native'; import type { TurboModule } from 'react-native/Libraries/TurboModule/RCTExport'; import type { Address, InitialiseParams, Onramp } from '../types'; import type { UnsafeObject } from './utils'; export interface Spec extends TurboModule { initialise(params: UnsafeObject): Promise; configureOnramp( config: UnsafeObject ): Promise; hasLinkAccount(email: string): Promise; registerLinkUser( info: UnsafeObject ): Promise; registerWalletAddress( walletAddress: string, network: string ): Promise; attachKycInfo( kycInfo: UnsafeObject ): Promise; presentKycInfoVerification: ( updatedAddress: UnsafeObject
| null ) => Promise; updatePhoneNumber(phone: string): Promise; authenticateUserWithToken( linkAuthTokenClientSecret: string ): Promise; verifyIdentity(): Promise; collectPaymentMethod( paymentMethod: string, platformPayParams: UnsafeObject ): Promise; provideCheckoutClientSecret(clientSecret: string | null): void; createCryptoPaymentToken(): Promise; performCheckout(onrampSessionId: string): Promise; onrampAuthorize(linkAuthIntentId: string): Promise; getCryptoTokenDisplayData( token: UnsafeObject ): Promise; logout(): Promise; addListener: (eventType: string) => void; removeListeners: (count: number) => void; } export default TurboModuleRegistry.getEnforcing('OnrampSdk');