import React from 'react';
import { MxlAnalyticsOptions, IdentifyPayload, TrackProperties, IncrementPayload, DecrementPayload } from '@safaricom-mxl/browser';
export * from '@safaricom-mxl/browser';

type MxlAnalyticsComponentProps = Omit<MxlAnalyticsOptions, 'filter'> & {
    profileId?: string;
    cdnUrl?: string;
    injectOtelWeb?: boolean;
    filter?: string;
    globalProperties?: Record<string, unknown>;
};
declare function MxlAnalyticsComponent({ profileId, cdnUrl, globalProperties, injectOtelWeb, ...options }: MxlAnalyticsComponentProps): React.JSX.Element;
type IdentifyComponentProps = IdentifyPayload;
declare function IdentifyComponent(props: IdentifyComponentProps): React.JSX.Element;
declare function SetGlobalPropertiesComponent(props: Record<string, unknown>): React.JSX.Element;
declare function useMxlAnalytics(): {
    track: typeof track;
    screenView: typeof screenView;
    identify: typeof identify;
    increment: typeof increment;
    decrement: typeof decrement;
    clear: typeof clear;
    setGlobalProperties: typeof setGlobalProperties;
};
declare function setGlobalProperties(properties: Record<string, unknown>): void;
declare function track(name: string, properties?: TrackProperties): void;
declare function screenView(properties?: TrackProperties): void;
declare function screenView(path: string, properties?: TrackProperties): void;
declare function identify(payload: IdentifyPayload): void;
declare function increment(payload: IncrementPayload): void;
declare function decrement(payload: DecrementPayload): void;
declare function clear(): void;

export { IdentifyComponent, MxlAnalyticsComponent, SetGlobalPropertiesComponent, useMxlAnalytics };
