mentiq-sdk
Version:
A powerful analytics SDK for React and Next.js with heatmap tracking, session monitoring, and performance analytics
47 lines • 1.67 kB
TypeScript
import { ReactNode, ComponentType } from "react";
import { AnalyticsConfig, AnalyticsInstance } from "./types";
interface MentiqAnalyticsProviderProps {
config: AnalyticsConfig;
children: ReactNode;
fallback?: ReactNode;
loading?: ReactNode;
}
/**
* MentiQ Analytics Provider with dynamic loading for optimal performance
* Features:
* - Server-side rendering support
* - Code splitting and lazy loading
* - Better bundle optimization
* - Graceful error handling
*/
export declare function MentiqAnalyticsProvider({ config, children, fallback, loading, }: MentiqAnalyticsProviderProps): import("react/jsx-runtime").JSX.Element;
/**
* Higher-Order Component for wrapping components with MentiQ analytics
*/
export declare function withMentiqAnalytics<P extends object>(WrappedComponent: ComponentType<P>, config: AnalyticsConfig): {
(props: P): import("react/jsx-runtime").JSX.Element;
displayName: string;
};
/**
* Hook for accessing MentiQ analytics from context
*/
export declare function useMentiqAnalytics(): {
track: (event: string, properties?: any) => void;
page: (properties?: any) => void;
identify: (userId: string, properties?: any) => void;
reset: () => void;
flush: () => Promise<void>;
trackCustomError: (error: string | Error, properties?: any) => void;
analytics: AnalyticsInstance;
};
/**
* Hook for lazy loading analytics (alternative pattern)
*/
export declare function useLazyMentiqAnalytics(config: AnalyticsConfig): {
analytics: any;
loadAnalytics: () => Promise<void>;
isLoading: boolean;
error: Error | null;
};
export {};
//# sourceMappingURL=dynamic-provider.d.ts.map