import { type Filter } from '@sisense/sdk-data';
import { WidgetProps } from '../../../../domains/widgets/components/widget/types';
import { OpenModalFn } from '../../../../infra/contexts/modal-provider/modal-context';
import { DataPoint, PivotTableDataPoint } from '../../../../types';
import { JtdActions, JtdClickHandlerData, JtdConfig, JtdContext, JtdCoreData, JtdDataPointClickEvent } from './jtd-types';
/**
 * Get the JTD click handler for a specific data point of the specific widget
 *
 * @param data - Core data with jump target (config, jump target, widget props, point)
 * @param context - Context data (filters)
 * @param actions - Action functions
 * @returns The JTD click handler
 * @internal
 */
export declare const getJtdClickHandler: (data: JtdClickHandlerData, context: JtdContext, actions: Pick<JtdActions, 'openModal'>) => () => Promise<string>;
/**
 * Get the JTD click handler for multiple data points
 *
 * @param data - Core data with jump target (config, jump target, widget props, points)
 * @param context - Context data (filters)
 * @param actions - Action functions
 * @returns The JTD click handler
 * @internal
 */
export declare const getJtdClickHandlerForMultiplePoints: (data: JtdClickHandlerData, context: JtdContext, actions: Pick<JtdActions, 'openModal'>) => () => void;
/**
 * Handle data point click for chart widgets
 *
 * @param coreData - Core data (config, widget props, point)
 * @param context - Context data (filters)
 * @param actions - Action functions
 * @param event - Event-related data
 * @internal
 */
export declare const handleDataPointClick: (coreData: JtdCoreData, context: JtdContext, actions: Pick<JtdActions, 'openModal' | 'openMenu' | 'translate'>, event: JtdDataPointClickEvent) => void | Promise<string>;
/**
 * Convert PivotTableDataPoint to DataPoint format for JTD processing
 *
 * @param pivotPoint - The pivot table data point
 * @returns Converted data point
 * @internal
 */
export declare const convertPivotToDataPoint: (pivotPoint: PivotTableDataPoint) => DataPoint;
/**
 * Handle pivot table data point click
 *
 * @param data - Core data with jump target (config, jump target, widget props, pivot point)
 * @param context - Context data (filters)
 * @param actions - Action functions
 * @param eventData - Event-related data
 * @internal
 */
export declare const handlePivotDataPointClick: (data: {
    jtdConfig: JtdConfig;
    widgetProps: WidgetProps;
    point: PivotTableDataPoint;
}, context: JtdContext, actions: Pick<JtdActions, 'openModal' | 'openMenu' | 'translate'>) => Promise<string> | undefined;
/**
 * Handle text widget click (placeholder for future implementation)
 *
 * @param jtdConfig - The JTD config
 * @param widgetProps - The widget props
 * @param dashboardFilters - The dashboard filters
 * @param originalWidgetFilters - The original widget filters
 * @param openModal - The open modal function
 * @internal
 */
export declare const handleTextWidgetClick: (jtdConfig: JtdConfig, widgetProps: WidgetProps, dashboardFilters: Filter[], originalWidgetFilters: Filter[], openModal: OpenModalFn) => Promise<string>;
