import type { AxiosInstance, AxiosStatic } from "axios";
type KlevuConfiguration = {
    /**
     * Your Klevu url
     */
    url: string;
    /**
     * Your Klevu apiKey
     */
    apiKey: string;
    /**
     * Max request caching time in milliseconds. Default 10 minutes. Set to 0 to disable
     */
    cacheMaxTTL?: number;
    /**
     * Events API v1 url
     */
    eventsApiV1Url?: string;
    /**
     * Events API v2 url
     */
    eventsApiV2Url?: string;
    /**
     * Recommendations API url
     */
    recommendationsApiUrl?: string;
    /**
     * MOI API url
     */
    moiApiUrl?: string;
    /**
     * VisitorServiceUrl for session creation
     */
    visitorServiceUrl?: string;
    /**
     * Ipv6 ServiceUrl for ipv6 retrieval used in analytics
     */
    ipv6ServiceUrl?: string;
    /**
     * Ipv4 ServiceUrl for ipv4 retrieval used in analytics
     */
    ipv4ServiceUrl?: string;
    /**
     *
     */
    axios?: AxiosStatic;
    /**
     * Prevent clicks being tracked in memory or stored in local storage. This will break personalisation and recommendations.
     */
    disableClickTrackStoring?: boolean;
    /**
     * Set true if using klaviyo connector
     */
    enableKlaviyoConnector?: boolean;
    /**
     * Enable data protection, pass true if data protection should be enabled
     */
    useConsent?: boolean;
    /**
     * True when user provides consent for reading protected data
     */
    consentGiven?: boolean;
    /**
     * Set to true to disable user session generation.
     */
    disableUserSession?: boolean;
};
export declare class KlevuConfig {
    static default: KlevuConfig | undefined;
    apiKey: string;
    url: string;
    cacheMaxTTL: number;
    eventsApiV1Url: string;
    eventsApiV2Url: string;
    recommendationsApiUrl: string;
    visitorServiceUrl: string;
    ipv6ServiceUrl: string;
    ipv4ServiceUrl: string;
    axios?: AxiosInstance;
    moiApiUrl: string;
    disableClickTracking: boolean;
    enableKlaviyoConnector: boolean;
    useConsent: boolean;
    consentGiven: boolean;
    disableUserSession: boolean;
    constructor(config: KlevuConfiguration);
    static init(config: KlevuConfiguration): void;
    static initializeIPResolver(): void;
    static initializeUserSession(): void;
    static getDefault(): KlevuConfig;
    isConsentDisallowed(): boolean;
    setUseConsent(useConsent: boolean): void;
    setEnableKlaviyoConnector(val: boolean): void;
    setConsentGiven(userConsent: boolean): void;
}
export {};
