import { QEntitlement, QOfferings, QProduct, QPromotionalOffer, QPurchaseResult, QRemoteConfig, QRemoteConfigList, QTrialIntroEligibility, QUser, QUserProperties } from './internal/Mapper'; export interface QonversionNativePlugin { initialize(params: { projectKey: string; launchMode: string; environment: string; entitlementsCacheLifetime: string; proxyUrl: string | undefined; kidsMode: boolean; }): void; syncHistoricalData(): void; syncStoreKit2Purchases(): void; checkEntitlements(): Promise | null | undefined>; storeSdkInfo(params: { source: string; version: string; }): void; getPromotionalOffer(params: { productId: string; discountId: string | undefined; }): Promise; purchase(params: { productId: string; quantity?: number; contextKeys: string[] | null; offerId?: string | null | undefined; applyOffer?: boolean | undefined; oldProductId?: string | undefined; updatePolicyKey?: string | null | undefined; promoOffer?: Object | null; }): Promise; products(): Promise | null | undefined>; offerings(): Promise; checkTrialIntroEligibility(params: { ids: string[]; }): Promise; restore(): Promise | null | undefined>; syncPurchases(): void; identify(params: { userId: string; }): Promise; logout(): void; userInfo(): Promise; remoteConfig(params: { contextKey: string | undefined; }): Promise; remoteConfigList(params?: { contextKeys: string[]; includeEmptyContextKey: boolean; }): Promise; invalidateRemoteConfigsCache(): void; attachUserToExperiment(params: { experimentId: string; groupId: string; }): Promise; detachUserFromExperiment(params: { experimentId: string; }): Promise; attachUserToRemoteConfiguration(params: { remoteConfigurationId: string; }): Promise; detachUserFromRemoteConfiguration(params: { remoteConfigurationId: string; }): Promise; isFallbackFileAccessible(): Promise<{ success: boolean; }>; addAttributionData(params: { data: Object; provider: string; }): void; setDefinedUserProperty(param: { property: string; value: string; }): void; setCustomUserProperty(param: { property: string; value: string; }): void; userProperties(): Promise; forceSendProperties(): Promise; collectAdvertisingId(): void; collectAppleSearchAdsAttribution(): void; presentCodeRedemptionSheet(): void; promoPurchase(params: { productId: string; }): Promise | null | undefined>; addListener(event: 'entitlementsUpdatedEvent', listener: (payload: (Record | null | undefined)) => void): void; addListener(event: 'deferredPurchaseCompletedEvent', listener: (payload: QPurchaseResult | null | undefined) => void): void; addListener(event: 'shouldPurchasePromoProductEvent', listener: (payload: { productId: string; }) => void): void; }