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