import { Attribute, Filter } from '@sisense/sdk-data';
import { PivotTableDataOptions } from '../../../domains/visualizations/core/chart-data-options/types.js';
import { WidgetTypeInternal } from '../../../domains/widgets/widget-model/types.js';
import { ChartDataOptions, ChartDataPoint, GenericDataOptions, MenuItemSection, PivotTableDataPoint } from '../../../types.js';
import { AbstractDataPointWithEntries } from './types.js';
export declare const SELECTION_TITLE_MAXIMUM_ITEMS = 2;
type DataSelection = {
    attribute: Attribute;
    values: (string | number)[];
    displayValues: string[];
};
export declare function getWidgetSelections(widgetType: WidgetTypeInternal, dataOptions: ChartDataOptions | PivotTableDataOptions | GenericDataOptions, points: Array<ChartDataPoint | PivotTableDataPoint | AbstractDataPointWithEntries>): DataSelection[];
export declare function getSelectableWidgetAttributes(widgetType: WidgetTypeInternal, dataOptions: ChartDataOptions | PivotTableDataOptions | GenericDataOptions): Attribute[];
type FiltersWithSelectionFlag = {
    filters: Filter[];
    isSelection: boolean;
};
/**
 * Creates a set of common filters based on the current selections, considering existing filters and
 * the common filters unselection rules.
 */
export declare function createCommonFiltersOverSelections(selections: DataSelection[], existingCommonFilters: Filter[], allowPartialUnselection?: boolean): FiltersWithSelectionFlag;
export declare function getWidgetSelectionsTitleMenuItem(widgetType: WidgetTypeInternal, dataOptions: ChartDataOptions | PivotTableDataOptions, points: Array<ChartDataPoint>): MenuItemSection | null;
export declare function getSelectMenuItem(title: string, selectHandler: () => void): MenuItemSection;
export {};
