import { type Filter } from '@sisense/sdk-data';
import { WidgetsOptions } from '../../../domains/dashboarding/dashboard-model/types';
import { type JtdActions } from '../../../domains/dashboarding/hooks/jtd/jtd-types';
import { JtdConfig } from '../../../domains/dashboarding/hooks/jtd/jtd-types';
import { WidgetProps } from '../../../domains/widgets/components/widget/types';
import { OpenMenuFn } from '../../../infra/contexts/menu-provider/types.js';
/**
 * Shared function to apply JTD functionality to a widget.
 * Extracted to avoid code duplication between use-jtd.ts and use-jtd-widget.ts
 *
 * @param widgetProps - The widget props to enhance
 * @param config - JTD application configuration
 * @returns Enhanced widget props with JTD functionality
 * @internal
 */
export declare const applyJtdToWidget: (widgetProps: WidgetProps, config: {
    normalizedJtdConfig: JtdConfig;
    dashboardFilters: Filter[];
    originalWidgetFilters: Filter[];
    extraFilters?: Filter[];
    actions: JtdActions;
    hyperlinkColor?: string;
}) => WidgetProps;
/**
 * Internal Jump To Dashboard (JTD) hook.
 * Implements the JTD functionality for each widget with JTD config.
 * Supports both legacy JtdConfig and new JumpToDashboardConfig formats.
 *
 * @param config - The configuration object
 * @param config.widgetOptions - The widget options of the dashboard
 * @param config.dashboardFilters - The dashboard filters to use
 * @param config.widgetFilters - The widget filters to use
 * @param config.extraFilters - Extra filters to apply with highest priority
 * @param config.openMenu - The open menu function to use
 * @returns The connect to widget props function
 * @internal
 */
export declare const useJtdInternal: ({ widgetOptions, dashboardFilters, widgetFilters, openMenu, extraFilters, }: {
    widgetOptions: WidgetsOptions;
    dashboardFilters?: Filter[] | undefined;
    widgetFilters?: Map<string, Filter[]> | undefined;
    extraFilters?: Filter[] | undefined;
    openMenu: OpenMenuFn;
}) => {
    connectToWidgetProps: (widgetProps: WidgetProps) => WidgetProps;
};
export * from './jtd';
export { useJtdWidget } from './use-jtd-widget';
