import { default as React } from 'react'; import { AnalyticsEventType, UserProperties, ConsentCategories } from '../utils/analytics'; /** * Hook to track page views automatically */ export declare function usePageView(pageName?: string, properties?: Record): void; /** * Hook to get event tracking function */ export declare function useTrackEvent(): (name: string, properties?: Record, type?: AnalyticsEventType) => void; /** * Hook to track feature usage */ export declare function useTrackFeature(featureName: string): { trackAction: (action: string, context?: Record) => void; trackView: (context?: Record) => void; trackInteraction: (element: string, context?: Record) => void; }; /** * Hook to track component render performance * * @param componentName - Name of the component to track */ export declare function useTrackRenderPerformance(componentName: string): void; /** * Hook to track interaction timing */ export declare function useTrackInteractionTiming(interactionName: string): { startTiming: () => void; endTiming: (context?: Record) => void; cancelTiming: () => void; }; /** * Hook to track form analytics */ export declare function useTrackForm(formName: string): { trackFieldFocus: (fieldName: string) => void; trackFieldBlur: (fieldName: string, hasValue: boolean) => void; trackFieldError: (fieldName: string, error: string) => void; trackSubmitAttempt: () => void; trackSubmitSuccess: (context?: Record) => void; trackSubmitError: (error: string) => void; trackAbandonment: () => void; }; /** * Hook for click tracking */ export declare function useTrackClick(eventName: string, properties?: Record): (event?: React.MouseEvent) => void; /** * Hook to manage analytics consent */ export declare function useAnalyticsConsent(): { consent: ConsentCategories; setConsent: (consent: Partial) => void; acceptAll: () => void; rejectAll: () => void; hasConsented: boolean; }; /** * Hook to identify user for analytics */ export declare function useAnalyticsIdentify(): (userId: string, properties?: UserProperties) => void; /** * Hook to reset analytics (for logout) */ export declare function useAnalyticsReset(): () => void; /** * Hook to track search queries */ export declare function useTrackSearch(searchContext: string): { trackSearch: (query: string, resultsCount: number) => void; trackSearchClick: (query: string, resultIndex: number, resultId: string) => void; trackNoResults: (query: string) => void; }; /** * Hook to track scroll depth */ export declare function useTrackScrollDepth(pageName: string): void; /** * Hook to track time on page */ export declare function useTrackTimeOnPage(pageName: string, intervals?: number[]): void; /** * Hook to create a tracked section */ export declare function useTrackedSection(sectionName: string): { sectionRef: React.RefObject; isVisible: boolean; viewDuration: number; };