export declare enum LaunchMode {
    ANALYTICS = "Analytics",
    SUBSCRIPTION_MANAGEMENT = "SubscriptionManagement"
}
export declare enum Environment {
    SANDBOX = "Sandbox",
    PRODUCTION = "Production"
}
export declare enum ProductType {
    TRIAL = "Trial",
    INTRO = "Intro",/** Currently works for Android only. iOS support will be added soon. */
    SUBSCRIPTION = "Subscription",
    IN_APP = "InApp",
    UNKNOWN = "Unknown"
}
export declare enum SubscriptionPeriodUnit {
    DAY = "Day",
    WEEK = "Week",
    MONTH = "Month",
    YEAR = "Year",
    UNKNOWN = "Unknown"
}
/**
 * Recurrence mode of the pricing phase.
 */
export declare enum PricingPhaseRecurrenceMode {
    /**
     * The billing plan payment recurs for infinite billing periods unless canceled.
     */
    INFINITE_RECURRING = "InfiniteRecurring",
    /**
     * The billing plan payment recurs for a fixed number of billing periods
     * set in {@link ProductPricingPhase.billingCycleCount}.
     */
    FINITE_RECURRING = "FiniteRecurring",
    /**
     * The billing plan payment is a one-time charge that does not repeat.
     */
    NON_RECURRING = "NonRecurring",
    /**
     * Unknown recurrence mode.
     */
    UNKNOWN = "Unknown"
}
/**
 * Type of the pricing phase.
 */
export declare enum PricingPhaseType {
    /**
     * Regular subscription without any discounts like trial or intro offers.
     */
    REGULAR = "Regular",
    /**
     * A free phase.
     */
    FREE_TRIAL = "FreeTrial",
    /**
     * A phase with a discounted payment for a single period.
     */
    DISCOUNTED_SINGLE_PAYMENT = "DiscountedSinglePayment",
    /**
     * A phase with a discounted payment for several periods, described in {@link ProductPricingPhase.billingCycleCount}.
     */
    DISCOUNTED_RECURRING_PAYMENT = "DiscountedRecurringPayment",
    /**
     * Unknown pricing phase type.
     */
    UNKNOWN = "Unknown"
}
export declare enum EntitlementRenewState {
    NON_RENEWABLE = "non_renewable",
    UNKNOWN = "unknown",
    WILL_RENEW = "will_renew",
    CANCELED = "canceled",
    BILLING_ISSUE = "billing_issue"
}
export declare enum EntitlementSource {
    UNKNOWN = "Unknown",
    APP_STORE = "AppStore",
    PLAY_STORE = "PlayStore",
    STRIPE = "Stripe",
    MANUAL = "Manual"
}
export declare enum TransactionEnvironment {
    PRODUCTION = "Production",
    SANDBOX = "Sandbox"
}
export declare enum TransactionOwnershipType {
    OWNER = "Owner",
    FAMILY_SHARING = "FamilySharing"
}
export declare enum EntitlementGrantType {
    PURCHASE = "Purchase",
    FAMILY_SHARING = "FamilySharing",
    OFFER_CODE = "OfferCode",
    MANUAL = "Manual"
}
export declare enum TransactionType {
    UNKNOWN = "Unknown",
    SUBSCRIPTION_STARTED = "SubscriptionStarted",
    SUBSCRIPTION_RENEWED = "SubscriptionRenewed",
    TRIAL_STARTED = "TrialStarted",
    INTRO_STARTED = "IntroStarted",
    INTRO_RENEWED = "IntroRenewed",
    NON_CONSUMABLE_PURCHASE = "NonConsumablePurchase"
}
export declare enum UserPropertyKey {
    EMAIL = "Email",
    NAME = "Name",
    KOCHAVA_DEVICE_ID = "KochavaDeviceId",
    APPS_FLYER_USER_ID = "AppsFlyerUserId",
    ADJUST_AD_ID = "AdjustAdId",
    CUSTOM_USER_ID = "CustomUserId",
    FACEBOOK_ATTRIBUTION = "FacebookAttribution",// Android only
    FIREBASE_APP_INSTANCE_ID = "FirebaseAppInstanceId",
    APP_SET_ID = "AppSetId",// Android only
    ADVERTISING_ID = "AdvertisingId",// iOS only
    APP_METRICA_DEVICE_ID = "AppMetricaDeviceId",
    APP_METRICA_USER_PROFILE_ID = "AppMetricaUserProfileId",
    PUSH_WOOSH_HW_ID = "PushWooshHwId",
    PUSH_WOOSH_USER_ID = "PushWooshUserId",
    TENJIN_ANALYTICS_INSTALLATION_ID = "TenjinAnalyticsInstallationId",
    CUSTOM = "Custom"
}
export declare enum AttributionProvider {
    APPSFLYER = "AppsFlyer",
    BRANCH = "Branch",
    ADJUST = "Adjust",
    APPLE_SEARCH_ADS = "AppleSearchAds",// ios only
    APPLE_AD_SERVICES = "AppleAdServices"
}
/**
 * A policy used for purchase updates on Android, which describes
 * how to migrate from purchased plan to a new one.
 *
 * Used in {@link PurchaseOptions} class for purchase updates.
 */
export declare enum PurchaseUpdatePolicy {
    /**
     * The new plan takes effect immediately, and the user is charged full price of new plan
     * and is given a full billing cycle of subscription, plus remaining prorated time
     * from the old plan.
     */
    CHARGE_FULL_PRICE = "ChargeFullPrice",
    /**
     * The new plan takes effect immediately, and the billing cycle remains the same.
     */
    CHARGE_PRORATED_PRICE = "ChargeProratedPrice",
    /**
     * The new plan takes effect immediately, and the remaining time will be prorated
     * and credited to the user.
     */
    WITH_TIME_PRORATION = "WithTimeProration",
    /**
     * The new purchase takes effect immediately, the new plan will take effect
     * when the old item expires.
     */
    DEFERRED = "Deferred",
    /**
     * The new plan takes effect immediately, and the new price will be charged
     * on next recurrence time.
     */
    WITHOUT_PRORATION = "WithoutProration",
    /**
     * Unknown police.
     */
    UNKNOWN = "Unknown"
}
export declare enum EntitlementsCacheLifetime {
    WEEK = "Week",
    TWO_WEEKS = "TwoWeeks",
    MONTH = "Month",
    TWO_MONTHS = "TwoMonths",
    THREE_MONTHS = "ThreeMonths",
    SIX_MONTHS = "SixMonths",
    YEAR = "Year",
    UNLIMITED = "Unlimited"
}
export declare const SKPeriodUnit: {
    readonly 0: "DAY";
    readonly 1: "WEEK";
    readonly 2: "MONTH";
    readonly 3: "YEAR";
};
export type SKPeriodUnits = typeof SKPeriodUnit[keyof typeof SKPeriodUnit];
export declare const SKProductDiscountType: {
    readonly 0: "INTRODUCTORY";
    readonly 1: "SUBSCRIPTION";
};
export type SKProductDiscountTypes = typeof SKProductDiscountType[keyof typeof SKProductDiscountType];
export declare const SKProductDiscountPaymentMode: {
    readonly 0: "PAY_AS_YOU_GO";
    readonly 1: "PAY_UP_FRONT";
    readonly 2: "FREE_TRIAL";
};
export type SKProductDiscountPaymentModes = typeof SKProductDiscountPaymentMode[keyof typeof SKProductDiscountPaymentMode];
export declare const OfferingTag: {
    readonly "-1": "UNKNOWN";
    readonly "0": "NONE";
    readonly "1": "MAIN";
};
export type OfferingTags = typeof OfferingTag[keyof typeof OfferingTag];
export declare enum IntroEligibilityStatus {
    UNKNOWN = "unknown",
    NON_INTRO_OR_TRIAL_PRODUCT = "non_intro_or_trial_product",
    ELIGIBLE = "intro_or_trial_eligible",
    INELIGIBLE = "intro_or_trial_ineligible"
}
export declare enum ExperimentGroupType {
    UNKNOWN = "unknown",
    CONTROL = "control",
    TREATMENT = "treatment"
}
export declare enum RemoteConfigurationSourceType {
    UNKNOWN = "unknown",
    EXPERIMENT_CONTROL_GROUP = "experiment_control_group",
    EXPERIMENT_TREATMENT_GROUP = "experiment_treatment_group",
    REMOTE_CONFIGURATION = "remote_configuration"
}
export declare enum RemoteConfigurationAssignmentType {
    UNKNOWN = "unknown",
    AUTO = "auto",
    MANUAL = "manual"
}
export declare enum ActionType {
    /**
     * Unspecified action type
     */
    UNKNOWN = "unknown",
    /**
     * URL action that opens the URL using SafariViewController
     */
    URL = "url",
    /**
     * Deeplink action that opens if Application can open specified deeplink
     */
    DEEPLINK = "deeplink",
    /**
     * Navigation to another No-Codes screen
     */
    NAVIGATION = "navigation",
    /**
     * Purchase the product
     */
    PURCHASE = "purchase",
    /**
     * Restore all purchases
     */
    RESTORE = "restore",
    /**
     * Close current screen
     */
    CLOSE = "close",
    /**
     * Close all No-Code screens
     */
    CLOSE_ALL = "closeAll"
}
export declare enum ScreenPresentationStyle {
    /**
     * on Android - default screen transaction animation will be used.
     * on iOS - not a modal presentation. This style pushes a controller to a current navigation stack.
     * For iOS NavigationController on the top of the stack is required.
     */
    PUSH = "Push",
    /**
     * on Android - screen will move from bottom to top.
     * on iOS - UIModalPresentationFullScreen analog.
     */
    FULL_SCREEN = "FullScreen",
    /**
     * iOS only - UIModalPresentationPopover analog
     */
    POPOVER = "Popover",
    /**
     * Android only - screen will appear/disappear without any animation.
     * For iOS consider providing the {@link ScreenPresentationConfig.animated} flag.
     */
    NO_ANIMATION = "NoAnimation"
}
export declare enum NoCodesErrorCode {
    UNKNOWN = "Unknown",
    BAD_NETWORK_REQUEST = "BadNetworkRequest",
    BAD_RESPONSE = "BadResponse",
    ACTIVITY_START = "ActivityStart",// Android
    NETWORK_REQUEST_EXECUTION = "NetworkRequestExecution",// Android
    SERIALIZATION = "Serialization",// Android
    DESERIALIZATION = "Deserialization",// Android
    REQUEST_DENIED = "RequestDenied",// Android
    MAPPING = "Mapping",// Android
    BACKEND_ERROR = "BackendError",// Android
    SCREEN_NOT_FOUND = "ScreenNotFound",// Android
    QONVERSION_ERROR = "QonversionError",
    INTERNAL = "Internal",// iOS
    AUTHORIZATION_FAILED = "AuthorizationFailed",// iOS
    CRITICAL = "Critical",// iOS
    PRODUCT_NOT_FOUND = "ProductNotFound",// iOS
    PRODUCTS_LOADING_FAILED = "ProductsLoadingFailed",// iOS
    RATE_LIMIT_EXCEEDED = "RateLimitExceeded",// iOS
    SCREEN_LOADING_FAILED = "ScreenLoadingFailed",// iOS
    SDK_INITIALIZATION_ERROR = "SDKInitializationError"
}
export declare enum PurchaseResultStatus {
    /**
     * The purchase was successful.
     */
    SUCCESS = "Success",
    /**
     * The purchase was canceled by the user.
     */
    USER_CANCELED = "UserCanceled",
    /**
     * The purchase is pending (e.g., waiting for parental approval).
     */
    PENDING = "Pending",
    /**
     * An error occurred during the purchase.
     */
    ERROR = "Error"
}
export declare enum PurchaseResultSource {
    /**
     * The result was obtained from the Qonversion API.
     */
    API = "Api",
    /**
     * The result was obtained from the local store.
     */
    LOCAL = "Local"
}
export declare enum QonversionErrorCode {
    UNKNOWN = "Unknown",// Unknown error
    API_RATE_LIMIT_EXCEEDED = "ApiRateLimitExceeded",// API requests rate limit exceeded
    APPLE_STORE_ERROR = "AppleStoreError",// Apple Store error received
    BACKEND_ERROR = "BackendError",// There was a backend error
    BILLING_UNAVAILABLE = "BillingUnavailable",// The Billing service is unavailable on the device
    CLIENT_INVALID = "ClientInvalid",// Client is not allowed to issue the request, etc
    CLOUD_SERVICE_NETWORK_CONNECTION_FAILED = "CloudServiceNetworkConnectionFailed",// The device could not connect to the network
    CLOUD_SERVICE_PERMISSION_DENIED = "CloudServicePermissionDenied",// User is not allowed to access cloud service information
    CLOUD_SERVICE_REVOKED = "CloudServiceRevoked",// User has revoked permission to use this cloud service
    FAILED_TO_RECEIVE_DATA = "FailedToReceiveData",// Could not receive data
    FEATURE_NOT_SUPPORTED = "FeatureNotSupported",// The requested feature is not supported
    FRAUD_PURCHASE = "FraudPurchase",// Fraud purchase was detected
    INCORRECT_REQUEST = "IncorrectRequest",// Request failed
    INTERNAL_ERROR = "InternalError",// Internal backend error
    INVALID_CLIENT_UID = "InvalidClientUid",// Client Uid is invalid or not set
    INVALID_CREDENTIALS = "InvalidCredentials",// Access token is invalid or not set
    INVALID_STORE_CREDENTIALS = "InvalidStoreCredentials",// This account does not have access to the requested application
    LAUNCH_ERROR = "LaunchError",// There was an error while launching Qonversion SDK
    NETWORK_CONNECTION_FAILED = "NetworkConnectionFailed",// There was a network issue. Make sure that the Internet connection is available on the device
    OFFERINGS_NOT_FOUND = "OfferingsNotFound",// No offerings found
    PAYMENT_INVALID = "PaymentInvalid",// Purchase identifier was invalid, etc.
    PAYMENT_NOT_ALLOWED = "PaymentNotAllowed",// This device is not allowed to make the payment
    PLAY_STORE_ERROR = "PlayStoreError",// There was an issue with the Play Store service
    PRIVACY_ACKNOWLEDGEMENT_REQUIRED = "PrivacyAcknowledgementRequired",// User needs to acknowledge Apple's privacy policy
    PRODUCT_ALREADY_OWNED = "ProductAlreadyOwned",// Failed to purchase since item is already owned
    PRODUCT_NOT_FOUND = "ProductNotFound",// Failed to purchase since the Qonversion product was not found
    PRODUCT_NOT_OWNED = "ProductNotOwned",// Failed to consume purchase since item is not owned
    PROJECT_CONFIG_ERROR = "ProjectConfigError",// The project is not configured or configured incorrectly in the Qonversion Dashboard
    PURCHASE_CANCELED = "PurchaseCanceled",// User pressed back or canceled a dialog for purchase
    PURCHASE_INVALID = "PurchaseInvalid",// Failure of purchase
    PURCHASE_PENDING = "PurchasePending",// Purchase is pending
    PURCHASE_UNSPECIFIED = "PurchaseUnspecified",// Unspecified state of the purchase
    RECEIPT_VALIDATION_ERROR = "ReceiptValidationError",// Receipt validation error
    REMOTE_CONFIGURATION_NOT_AVAILABLE = "RemoteConfigurationNotAvailable",// Remote configuration is not available for the current user or for the provided context key
    RESPONSE_PARSING_FAILED = "ResponseParsingFailed",// A problem occurred while serializing or deserializing data
    STORE_PRODUCT_NOT_AVAILABLE = "StoreProductNotAvailable",// Requested product is not available for purchase or its product id was not found
    UNAUTHORIZED_REQUEST_DATA = "UnauthorizedRequestData",// App is attempting to use SKPayment's requestData property, but does not have the appropriate entitlement
    UNKNOWN_CLIENT_PLATFORM = "UnknownClientPlatform"
}
/**
 * Theme mode for No-Code screens.
 * Use this to control how screens adapt to light/dark themes.
 */
export declare enum NoCodesTheme {
    /**
     * Automatically follow the device's system appearance (default).
     * The screen will use light theme in light mode and dark theme in dark mode.
     */
    AUTO = "auto",
    /**
     * Force light theme regardless of device settings.
     */
    LIGHT = "light",
    /**
     * Force dark theme regardless of device settings.
     */
    DARK = "dark"
}
