import { EntitlementsCacheLifetime, Environment, LaunchMode } from './dto/enums';
import { EntitlementsUpdateListener } from './dto/EntitlementsUpdateListener';
import { QonversionConfig } from './QonversionConfig';
export declare class QonversionConfigBuilder {
    private readonly projectKey;
    private readonly launchMode;
    constructor(projectKey: string, launchMode: LaunchMode);
    private environment;
    private entitlementsCacheLifetime;
    private entitlementsUpdateListener;
    private proxyUrl;
    private kidsMode;
    /**
     * Set current application {@link Environment}. Used to distinguish sandbox and production users.
     *
     * @param environment current environment.
     * @return builder instance for chain calls.
     */
    setEnvironment(environment: Environment): QonversionConfigBuilder;
    /**
     * Entitlements cache is used when there are problems with the Qonversion API
     * or internet connection. If so, Qonversion will return the last successfully loaded
     * entitlements. The current method allows you to configure how long that cache may be used.
     * The default value is {@link EntitlementsCacheLifetime.MONTH}.
     *
     * @param lifetime desired entitlements cache lifetime duration
     * @return builder instance for chain calls.
     */
    setEntitlementsCacheLifetime(lifetime: EntitlementsCacheLifetime): QonversionConfigBuilder;
    /**
     * Provide a listener to be notified about asynchronous user entitlements updates.
     *
     * Make sure you provide this listener for being up-to-date with the user entitlements.
     * Else you can lose some important updates. Also, please, consider that this listener
     * should live for the whole lifetime of the application.
     *
     * @param entitlementsUpdateListener listener to be called when entitlements update.
     * @return builder instance for chain calls.
     */
    setEntitlementsUpdateListener(entitlementsUpdateListener: EntitlementsUpdateListener): QonversionConfigBuilder;
    /**
     * Provide a URL to your proxy server which will redirect all the requests from the app
     * to our API. Please, contact us before using this feature.
     *
     * @param url your proxy server url
     * @return builder instance for chain calls.
     * @see [The documentation](https://documentation.qonversion.io/docs/custom-proxy-server-for-sdks)
     */
    setProxyURL(url: string): QonversionConfigBuilder;
    /**
     * Android only.
     * Use this function to enable Qonversion SDK Kids mode.
     * With this mode activated, our SDK does not collect any information that violates Google Children’s Privacy Policy.
     * @return builder instance for chain calls.
     */
    enableKidsMode(): QonversionConfigBuilder;
    /**
     * Generate {@link QonversionConfig} instance with all the provided configurations.
     *
     * @return the complete {@link QonversionConfig} instance.
     */
    build(): QonversionConfig;
}
