UNPKG

@circle-apps/sdk

Version:

Official SDK for Celia Mini Apps integration

53 lines (52 loc) 1.82 kB
import { AuthOptions, AuthResponse, ShareOptions, AdOptions, BannerAdOptions, AdResponse, LanguageResponse } from "./types"; declare global { interface Window { ReactNativeWebView?: { postMessage: (message: string) => void; }; _celiaMiniCallbacks?: { [key: string]: { resolve: (value: any) => void; reject: (reason?: any) => void; timeout: ReturnType<typeof setTimeout>; }; }; _celiaAppLanguage?: string; celiaMini?: { share: (options: any) => Promise<any>; authenticate: (options: any) => Promise<any>; showAd: (options: any) => Promise<any>; showBannerAd: (options: any) => Promise<any>; hideBannerAd: (options: any) => Promise<any>; getLanguage: () => Promise<any>; onAdEvent: ((event: any) => void) | null; _cachedLanguage?: string; }; } } export declare class CeliaSDK { isInitialized: boolean; readonly isWebView: boolean; readonly isCircleMiniApp: boolean; constructor(); verifyEnvironment(): { isWebView: boolean; isCircleMiniApp: boolean; isValid: boolean; }; private initialize; authenticate(options: AuthOptions): Promise<AuthResponse>; share(options: ShareOptions): Promise<void>; showAd(options: AdOptions): Promise<AdResponse>; showBannerAd(options: BannerAdOptions): Promise<AdResponse>; hideBannerAd(options: { containerId: string; }): Promise<AdResponse>; getLanguage(): Promise<LanguageResponse>; private setupCallback; private postMessage; private injectBridge; private setupMessageListener; private handleIncomingEvent; } export default CeliaSDK;