import { Attribute, Measure } from '@sisense/sdk-data';
import { ChartType } from '../../../../types';
import { CategoricalChartDataOptions, CategoricalChartDataOptionsInternal, ChartDataOptions, ChartDataOptionsInternal, PivotTableDataOptions, PivotTableDataOptionsInternal, StyledColumn, StyledMeasureColumn, TableDataOptions, TableDataOptionsInternal } from './types';
import { DataColumnNamesMapping } from './validate-data-options';
export declare function translateChartDataOptions(chartType: ChartType, dataOptions: ChartDataOptions): ChartDataOptionsInternal;
export declare const translateCategoricalChartDataOptions: (categorical: CategoricalChartDataOptions) => CategoricalChartDataOptionsInternal;
/**
 * Styled dimension columns used by charts for the same axes as {@link getAttributes}.
 *
 * @internal
 */
export declare function getStyledDimensionColumns(dataOptions: ChartDataOptionsInternal, chartType: ChartType): StyledColumn[];
/**
 * Styled measure columns used by charts for the same axes as {@link getMeasures}.
 *
 * @internal
 */
export declare function getStyledMeasureColumns(dataOptions: ChartDataOptionsInternal, chartType: ChartType): StyledMeasureColumn[];
export declare function getAttributes(dataOptions: ChartDataOptionsInternal, chartType: ChartType): Attribute[];
export declare function getMeasures(dataOptions: ChartDataOptionsInternal, chartType: ChartType): Measure[];
export declare function translateTableDataOptions(dataOptions: TableDataOptions): TableDataOptionsInternal;
/**
 * Returns a shallow copy of the table data options whose measure columns carry
 * unique alias names, paired with the unique-name -> original-name mapping.
 *
 * Pure: neither the input data options nor the user's measure refs are
 * mutated. Each renamed column wraps a fresh measure clone whose prototype is
 * the original measure (so methods like `jaql()` keep working).
 */
export declare function withUniqueMeasureNames(dataOptions: TableDataOptionsInternal): {
    dataOptions: TableDataOptionsInternal;
    mapping: DataColumnNamesMapping;
};
/**
 * Translates pivot table data options to the internal structure.
 */
export declare function translatePivotTableDataOptions(dataOptions: PivotTableDataOptions): PivotTableDataOptionsInternal;
