react-native-nami-sdk
Version:
React Native SDK for Nami - No-code paywall and onboarding flows with A/B testing.
31 lines (30 loc) • 1.57 kB
TypeScript
import { NativeEventEmitter } from 'react-native';
import type { NamiPurchaseDetails, NamiPurchaseSuccessApple, NamiPurchaseSuccessAmazon, NamiPurchaseSuccessGooglePlay, NamiSKU } from '../src/types';
export declare enum NamiPaywallManagerEvents {
BuySku = "RegisterBuySKU",
Close = "PaywallCloseRequested",
SignIn = "PaywallSignInRequested",
Restore = "PaywallRestoreRequested",
DeeplinkAction = "PaywallDeeplinkAction"
}
export declare const NamiPaywallManager: {
emitter: NativeEventEmitter;
buySkuComplete: (purchase: NamiPurchaseDetails) => void;
buySkuCompleteApple: (purchase: NamiPurchaseSuccessApple) => void;
buySkuCompleteAmazon: (purchase: NamiPurchaseSuccessAmazon) => void;
buySkuCompleteGooglePlay: (purchase: NamiPurchaseSuccessGooglePlay) => void;
registerBuySkuHandler: (callback: (sku: NamiSKU) => void) => (() => void);
registerCloseHandler: (callback: () => void) => (() => void);
registerSignInHandler: (callback: () => void) => (() => void);
registerRestoreHandler: (callback: () => void) => (() => void);
registerDeeplinkActionHandler: (callback: (url: string) => void) => (() => void);
dismiss: () => Promise<boolean>;
show: () => void;
hide: () => void;
isHidden: () => Promise<boolean>;
isPaywallOpen: () => Promise<boolean>;
buySkuCancel: () => void;
setProductDetails: (productDetails: string, allowOffers: boolean) => void;
setAppSuppliedVideoDetails: (url: string, name?: string) => void;
allowUserInteraction: (allowed: boolean) => void;
};