import { PluginListenerHandle } from '@capacitor/core'; declare module '@capacitor/core' { interface PluginRegistry { JokHelper: JokHelperPlugin; } } export interface JokHelperPlugin { echo(options: { value: string; }): Promise<{ value: string; }>; setKeychainItem(data: SetKeychainItemProps): Promise<{ value: string; }>; getKeychainItem(data: GetKeychainItemProps): Promise<{ value: string; }>; setDeviceOrientationLock(data: SetOrientationLockProps): Promise; listenPushNotificationEvents(): Promise; isWideScreen(): Promise<{ value: boolean; }>; isMobileDevice(): Promise<{ value: boolean; }>; getPushNotificationsState(): Promise; askPushNotificationsPermission(): Promise<{ accepted: boolean; }>; openAppSettings(): Promise<{ success: boolean; }>; canMakePayments(): Promise<{ value: boolean; }>; loadProducts(data: LoadProductsProps): Promise<{ success: boolean; products: SKProduct[]; invalidProducts: string[]; }>; requestPayment(data: RequestPaymentProps): Promise<{ success: boolean; message: string; }>; finishPayment(data: FinishPaymentProps): Promise<{ success: boolean; message: string; }>; listenTransactionStateChanges(): Promise; platformInfo(): Promise<{ success: boolean; platform: string; clientVersion: string; }>; playAudio(data: PlayAudioProps): Promise<{ value: boolean; }>; viewAppPage(data: ViewAppPageProps): Promise<{ value: boolean; }>; openMailbox(): Promise<{ value: boolean; }>; vibrate(duration?: number): Promise<{ value: boolean; }>; requestReview(): Promise<{ value: boolean; }>; configureRewardedAds(data: { zoneId: string; zone2Id: string; }): Promise<{ success: boolean; currency: string; amount: number; currency2: string; amount2: number; }>; listenRewardedAdsWatchedEvents(): Promise<{ value: boolean; }>; showRewardedAds(data: { zoneId: string; }): Promise<{ started: boolean; errorMessage: string; errorCode: string; additionalInfo: string; }>; addListener(eventName: 'TransactionStateChange', listenerFunc: (x: TransactionStateChangeData) => void): Promise; } export interface PlayAudioProps { name: string; path?: string; } export interface ViewAppPageProps { appId: string; showReviewPage: boolean; } export interface LoadProductsProps { productIds: string[]; } export interface SKProduct { title: string; description: string; price: number; formattedPrice: string; currencySymbol: string; currencyCode: string; productIdentifier: string; isDownloadable: boolean; downloadContentLengths: number; contentVersion: string; downloadContentVersion: string; } export interface RequestPaymentProps { productId: string; } export interface FinishPaymentProps { transactionId: string; } export interface SetKeychainItemProps { key: string; value: string; accessGroup?: string; } export interface GetKeychainItemProps { key: string; accessGroup?: string; } export interface PushNotificationState { userId: string; hasPrompted: boolean; userStatus: PushNotificationStateUserStatus; pushToken: string; isSubscribed: boolean; userSubscriptionSetting: boolean; } export declare enum PushNotificationStateUserStatus { OSNotificationPermissionNotDetermined = 0, OSNotificationPermissionDenied = 1, OSNotificationPermissionAuthorized = 2, OSNotificationPermissionProvisional = 3 } export interface SetOrientationLockProps { orientationMask: 'all' | 'portrait' | 'portraitUpsideDown' | 'landscape' | 'landscapeLeft' | 'landscapeRight' | 'allButUpsideDown'; preferredOrientation: InterfaceOrientation; } export declare enum InterfaceOrientation { unknown = 0, portrait = 1, portraitUpsideDown = 2, landscapeLeft = 3, landscapeRight = 4 } export interface DeviceOrientationChangeData { isPortrait: boolean; isLandscape: boolean; isFlat: boolean; rawValue: number; } export interface DeviceOrientationData { isPortrait: boolean; isLandscape: boolean; isFlat: boolean; rawValue: number; orientation: string; } export declare enum JokPluginEvents { DeviceOrientationChange = "DeviceOrientationChange" } export interface TransactionStateChangeData { transactionId: string; transactionState: TransactionState; transactionReceipt: string; productId: string; hasError: boolean; errorCode?: TransactionErrorCode; errorMessage?: string; } export declare enum TransactionState { Purchasing = 0, Purchased = 1, Failed = 2, Restored = 3, Deferred = 4 } export declare enum TransactionErrorCode { unknown = 0, clientInvalid = 1, paymentCancelled = 2, paymentInvalid = 3, paymentNotAllowed = 4, storeProductNotAvailable = 5, cloudServicePermissionDenied = 6, cloudServiceNetworkConnectionFailed = 7, cloudServiceRevoked = 8, privacyAcknowledgementRequired = 9, unauthorizedRequestData = 10, invalidOfferIdentifier = 11, invalidSignature = 12, missingOfferParams = 13, invalidOfferPrice = 14 }