///
import type { ChartWidgetConfig } from '../../../domains/widgets/components/widget/widget-config';
import { type ChartTableToggleLabels } from './chart-table-toggle-button';
/**
* Options for {@link useChartTableToggle}.
*
* @sisenseInternal
*/
export type UseChartTableToggleOptions = {
dataOptions?: unknown;
labels?: ChartTableToggleLabels;
/** Primitive identity. Non-primitives are ignored so an inline object cannot loop. */
resetKey?: string | number | boolean | null;
disabled?: boolean;
};
/**
* In-memory chart↔table toggle for a single chart widget.
*
* @param chartType - Original chart type
* @param options - Data options, labels, reset key, and disabled flag
* @returns `showToggle`, `isTableView`, `applyOverride`, `toggleButton`, and `withChartTableToggle`
* @example
* ```tsx
* const { applyOverride, withChartTableToggle } = useChartTableToggle(props.chartType, {
* dataOptions: props.dataOptions,
* });
* return ;
* ```
* @group Widgets
* @sisenseInternal
*/
export declare function useChartTableToggle(chartType: string | undefined, options?: UseChartTableToggleOptions): {
showToggle: boolean;
isTableView: boolean;
setIsTableView: import("react").Dispatch>;
applyOverride: (props: T) => T;
toggleButton: import("react/jsx-runtime").JSX.Element | null;
withChartTableToggle: (config?: ChartWidgetConfig) => ChartWidgetConfig | undefined;
};