export declare type TrackingAttributes = { [key: string]: any; }; export declare type TrackingContext = { object?: string; component?: string; action?: string; attrs?: TrackingAttributes; }; export declare type TrackingContextProps = { analyticsStream?: (analyticsEvent: any) => void; context?: TrackingContext; scrolledEvent?: TrackingContext; }; export declare type TrackingContextType = TrackingContextProps & { fireAnalyticsEvent?: (analyticsEvent: any) => void; }; declare type TrackingContextChildren = { children: ((props: { fireAnalyticsEvent: (evt: TrackingContext) => void; intersectObserverRef: (ref: HTMLElement | null) => void; }) => JSX.Element | JSX.Element[]) | JSX.Element | JSX.Element[]; }; export declare const useTrackingContext: () => TrackingContextType; export declare const TrackingContextProvider: ({ children, analyticsStream, context, scrolledEvent }: TrackingContextProps & TrackingContextChildren) => JSX.Element; export {};