import type { CustomDataCellFormatter, CustomHeaderCellFormatter } from '../../../../domains/visualizations/components/pivot-table/formatters/types';
import { PivotTableDataPoint } from '../../../../types';
import { JtdConfig, JtdTarget } from './jtd-types.js';
/**
 * Check if a formatter cell ID is actionable for JTD
 * Used by hyperlink formatters with cell IDs like "rows.0", "columns.1", "values.2"
 *
 * @param jtdConfig - The JTD configuration
 * @param cellId - The cell ID from formatters (e.g., "rows.0")
 * @returns Object with actionable status and matching target
 * @internal
 */
export declare function getPivotFormatterCellActionability(jtdConfig: JtdConfig, cellId: string): {
    isActionable: boolean;
    matchingTarget?: JtdTarget;
};
/**
 * Check if a click handler pivot point is actionable for JTD
 * Used by click handlers with pivot data points containing custom dimension IDs
 *
 * @param jtdConfig - The JTD configuration
 * @param pivotPoint - The pivot data point from click handlers
 * @returns Object with actionable status and matching target
 * @internal
 */
export declare function isPivotClickHandlerActionable(jtdConfig: JtdConfig, pivotPoint: PivotTableDataPoint): {
    isActionable: boolean;
    matchingTarget?: JtdTarget;
};
/**
 * Find all actionable jump targets for a pivot point (for right-click menus)
 * Used by right-click handlers that need to show multiple targets
 *
 * @param jtdConfig - The JTD configuration
 * @param pivotPoint - The pivot data point from click handlers
 * @returns Object with actionable status and all matching targets
 * @internal
 *
 * @example
 * ```typescript
 * // Usage in right-click menu handler for pivot tables
 * const onPivotRightClick = (pivotPoint: PivotTableDataPoint) => {
 *   const { isActionable, matchingTargets } = findAllActionablePivotTargets(jtdConfig, pivotPoint);
 *
 *   if (!isActionable) {
 *     return; // No menu - headers are not clickable or no valid targets
 *   }
 *
 *   // Only valid targets are returned:
 *   // - Targets with matching pivot dimensions for this cell
 *   // - NEVER targets with non-matching pivot dimensions
 *   const menuItems = matchingTargets.map(target => ({
 *     caption: target.caption,
 *     onClick: () => handleJumpToDashboard(target, pivotPoint)
 *   }));
 *
 *   openContextMenu({ items: menuItems });
 * };
 * ```
 */
export declare function getPivotTargetActionability(jtdConfig: JtdConfig, pivotPoint: PivotTableDataPoint): {
    isActionable: boolean;
    matchingTargets: JtdTarget[];
};
/**
 * Creates a data cell formatter that applies hyperlink styling for JTD navigation
 *
 * @param hyperlinkColor - The color to use for hyperlink text (uses theme's hyperlinkColor
 * @returns Data cell formatter function
 * @internal
 */
export declare function createJtdHyperlinkDataCellFormatter(hyperlinkColor: string, jtdConfig: JtdConfig): CustomDataCellFormatter;
/**
 * Creates a header cell formatter that applies hyperlink styling for JTD navigation
 *
 * @param hyperlinkColor - The color to use for hyperlink text (uses theme's hyperlinkColor or defaults to DEFAULT_HYPERLINK_COLOR)
 * @param jtdConfig - JTD configuration containing jump targets
 * @returns A header cell formatter that applies hyperlink styling to matching header cells
 */
export declare function createJtdHyperlinkHeaderCellFormatter(hyperlinkColor: string, jtdConfig: JtdConfig): CustomHeaderCellFormatter;
