import type { TurboModule } from 'react-native'; import { TurboModuleRegistry } from 'react-native'; export interface Spec extends TurboModule { // Unified purchase success handler buySkuComplete(purchase: { product: { id: string; skuId: string; name?: string; type: string; }; transactionID?: string; originalTransactionID?: string; orderId?: string; purchaseToken?: string; receiptId?: string; localizedPrice?: string; userId?: string; marketplace?: string; price?: string; currencyCode?: string; storeType?: string; }): void; // Backward compatibility methods buySkuCompleteApple(purchase: { product: { id: string; skuId: string; name?: string; type: string; }; transactionID: string; originalTransactionID: string; price: string; currencyCode: string; }): void; buySkuCompleteAmazon(purchase: { product: { id: string; skuId: string; name?: string; type: string; }; receiptId: string; localizedPrice: string; userId: string; marketplace: string; }): void; buySkuCompleteGooglePlay(purchase: { product: { id: string; skuId: string; name?: string; type: string; }; orderId: string; purchaseToken: string; }): void; registerBuySkuHandler(): void; registerCloseHandler(): void; registerSignInHandler(): void; registerRestoreHandler(): void; registerDeeplinkActionHandler(): void; dismiss(): Promise; show(): void; hide(): void; isHidden(): Promise; isPaywallOpen(): Promise; buySkuCancel(): void; setProductDetails(productDetails: string, allowOffers: boolean): void; setAppSuppliedVideoDetails(url: string, name?: string): void; allowUserInteraction(allowed: boolean): void; } export default TurboModuleRegistry.getEnforcing('RNNamiPaywallManager');