import { ISubscriptionTierData } from '@jolibox/types'; import { StandardResponse } from '@jolibox/types'; import { RequestCacheService } from '@jolibox/common'; type SubscriptionRequest = Record; type SubscriptionResponse = ISubscriptionTierData[]; interface SubscriptionCacheData { subscriptionTiers: ISubscriptionTierData[]; } declare class BaseSubscriptionService extends RequestCacheService { private apiEndpoint; private pendingSubscriptions; private subInfoCacheKeys; constructor(apiEndpoint: string); getSubInfo(): Promise; refreshSubInfo(): Promise; updateNativePriceCache(appStoreProductIds: string[]): Promise; updateAllNativePriceCache(): Promise; subscribe(params: { basePlanId: string; nativeProductId: string; appStoreProductId: string; }): Promise<{ subPlanId: string; message: string; result: 'SUCCESS' | 'FAILED' | 'FAILURE_SUBSCRIPTED'; }>; private pollSubscriptionStatus; invokeSubscriptionPanel(): Promise>; getTierByProductId(productId: string): Promise<{ nativeProductId: string; appStoreProductId: string; basePlanId: string; } | undefined>; private listenSubscriptionPanelStateChange; } export declare class SubscriptionService extends BaseSubscriptionService { constructor(); } export declare const createSubscriptionService: () => SubscriptionService; export declare const clearSubscriptionNativePriceCache: () => void; export {};