import { MetadataItem } from '@sisense/sdk-data';
import { AxesMapping, ChartRecommendations, ExpandedQueryModel } from '../../../../modules/analytics-composer/types';
import { ChartDataOptions, ChartStyleOptions, ChartType } from '../../../../types';
/**
 * @internal
 */
export declare const getChartRecommendationsOrDefault: (response: ExpandedQueryModel) => ChartRecommendations;
/**
 * Maps the metadata items to the chart data options.
 *
 * @param metadataItems - metadata items
 * @param chartFamily - chart family
 * @param axesMapping - axes mapping
 * @returns chart data options
 * @internal
 */
export declare const getChartDataOptions: (metadataItems: MetadataItem[], chartFamily: string, axesMapping: AxesMapping) => ChartDataOptions;
/**
 * Minimal chart style overrides for consumers that persist widget props without merged SDK defaults.
 * Compose merges these with per-chart defaults at render time (`extendStyleOptionsWithDefaults`).
 *
 * This function is used by buildChartEngine in sdk-ai-core
 *
 * @param chartType - chart type
 * @param axesMapping - axes mapping
 * @returns partial style options
 * @internal
 */
export declare const getMinimalChartStyleOptions: (chartType: ChartType, axesMapping: AxesMapping) => Partial<ChartStyleOptions>;
/**
 * Get chart style options for the chart widget.
 *
 * @param chartType - chart type
 * @param axesMapping - axes mapping
 * @param initialStyleOptions - initial style options
 * @param useCustomizedStyleOptions - whether to use customized style. Charts as inline response messages use customized style. Charts for Query Composer use default style.
 * @returns chart style options
 * @internal
 */
export declare const getChartStyleOptions: (chartType: ChartType, axesMapping: AxesMapping, initialStyleOptions: ChartStyleOptions, useCustomizedStyleOptions: boolean) => ChartStyleOptions;
/**
 * Get chart options for the chart widget.
 *
 * @param jaql - metadata items
 * @param chartRecommendations - chart recommendations
 * @param useCustomizedStyleOptions - whether to use customized style. Charts as inline response messages use customized style. Charts for Query Composer use default style.
 * @internal
 */
export declare const getChartOptions: (jaql: MetadataItem[], chartRecommendations: ChartRecommendations, useCustomizedStyleOptions?: boolean) => {
    dataOptions: ChartDataOptions;
    chartStyleOptions: ChartStyleOptions;
};
