import React from "react";
import type { MapProviderNames } from "~/types/options";
export type TrackingPipelineSettings = {
    apiKey: string;
};
type EventDataProps = {
    eventType: string;
    eventAttributes?: {
        label: string;
        data: boolean | string | number | undefined;
    }[];
};
export type AnalyticsSettings = {
    key: string;
    tracker: "mixpanel";
    isDebugMode: boolean;
    printDebugMode: boolean;
};
type AnalyticsEventDataProps = {
    eventName: string;
    eventAttributes?: {
        [key: string]: boolean | string | number | undefined;
    };
};
type TrackingContext = {
    postEvent: ({ eventType, eventAttributes }: EventDataProps) => void;
    trackAnalyticsEvent: ({ eventName, eventAttributes, }: AnalyticsEventDataProps) => void;
};
declare const useTracking: () => TrackingContext;
/**
 * This function has to be called once and first before trying to send analytics events
 *
 * @param projectToken Project token
 */
declare function initializeAnalytics(projectToken: string): void;
declare const TrackingProvider: ({ children, trackingPipelineSettings, analyticsSettings, attributes, meta, flags, }: {
    children: React.ReactNode;
    trackingPipelineSettings?: TrackingPipelineSettings;
    analyticsSettings?: AnalyticsSettings;
    attributes?: {
        location?: {
            lat?: number;
            lng?: number;
        };
        locale?: "en" | "fr";
        host_url?: string;
        isMobile?: boolean;
        mapProvider?: MapProviderNames;
        host?: {
            hash?: string;
            host?: string;
            hostname?: string;
            href?: string;
            origin?: string;
            pathname?: string;
            port?: string;
            protocol?: string;
            search?: string;
        };
    };
    meta: {
        productName?: string;
        productVersion?: string;
        clientId?: string;
    };
    flags?: {
        [key: string]: boolean;
    };
}) => React.JSX.Element;
export { useTracking, TrackingProvider, initializeAnalytics };
//# sourceMappingURL=index.d.ts.map