/**
 * useClickTracking Hook
 *
 * Wraps result link clicks with analytics fire-before-navigate.
 * - For target="_blank" links: fires analytics normally (page stays)
 * - For same-page navigation: uses sendBeacon + small delay before navigation
 * - Tracks click_target: 'new_tab' | 'same_page' | 'in_page'
 * - Includes destination_url and source_url in click event payload
 */
export type ClickTarget = 'new_tab' | 'same_page' | 'in_page';
export interface ClickTrackingOptions {
    /** The destination URL the user is navigating to */
    destinationUrl?: string;
    /** The clicked item ID */
    itemId: string;
    /** Position in search results (1-based) */
    position: number;
    /** Click target type */
    clickTarget?: ClickTarget;
    /** Additional metadata */
    metadata?: Record<string, unknown>;
}
export interface UseClickTrackingReturn {
    /**
     * Track a click event and optionally delay navigation.
     * Returns a promise that resolves when tracking is complete.
     */
    trackClick: (options: ClickTrackingOptions) => Promise<void>;
    /**
     * Create an onClick handler that tracks before navigating.
     * Use this to wrap <a> tag clicks.
     */
    createClickHandler: (options: ClickTrackingOptions, onComplete?: () => void) => (e: React.MouseEvent<HTMLAnchorElement>) => void;
}
export declare const useClickTracking: () => UseClickTrackingReturn;
//# sourceMappingURL=useClickTracking.d.ts.map