/**
 * withAnalytics – HOC that wraps any React component to inject analytics tracking
 */
import React from "react";
import type { SeekoraClient, SearchContext } from "@seekora-ai/search-sdk";
import type { ProductItem } from "@seekora-ai/ui-sdk-types";
export interface WithAnalyticsConfig {
    /** Track clicks on the component */
    trackClick?: boolean;
    /** Track impressions (visibility) */
    trackImpression?: boolean;
    /** Custom event name for click */
    clickEventName?: string;
    /** Extract product/item data from props */
    getProductFromProps?: (props: any) => ProductItem | null;
    /** Extract position from props */
    getPositionFromProps?: (props: any) => number;
}
export interface WithAnalyticsInjectedProps {
    seekoraClient?: SeekoraClient;
    seekoraContext?: SearchContext | Partial<SearchContext>;
}
export declare function withAnalytics<P extends object>(Component: React.ComponentType<P>, config?: WithAnalyticsConfig): React.ComponentType<P & WithAnalyticsInjectedProps>;
//# sourceMappingURL=withAnalytics.d.ts.map