import { AFM, VisualizationObject } from "@gooddata/typings";
import { IChartConfig } from "../../interfaces/Config";
import IVisualizationAttribute = VisualizationObject.IVisualizationAttribute;
export declare function getViewByTwoAttributes(viewBy: IVisualizationAttribute | IVisualizationAttribute[]): IVisualizationAttribute[];
/**
 * multiple measures => ignore computeRatio
 */
export declare function sanitizeComputeRatioOnMeasures<T extends VisualizationObject.BucketItem>(measures?: T[], forceDisableComputeRatio?: boolean): T[];
/**
 * Show a measure as a percentage
 * one measure
 *      => computeRatio = false or not set => evaluate stackMeasuresToPercent
 * stackMeasures is applied only when there are [2 measures and more]
 * stackMeasuresToPercent is applied only when there are [1 measure + 1 stackBy] or [2 measures and more]
 */
export declare function sanitizeConfig(measures?: VisualizationObject.BucketItem[], config?: IChartConfig): IChartConfig;
/**
 * Show a measure as a percentage
 * one measure
 *      => computeRatio = false or not set => evaluate stackMeasuresToPercent
 * multiple measures
 *      => ignore computeRatio and use stackMeasuresToPercent
 *
 * stackMeasures is applied only when there are [2 measures and more]
 * stackMeasuresToPercent is applied only when there are [1 measure + 1 stackBy] or [2 measures and up]
 */
export declare function getSanitizedStackingConfigFromAfm(afm: AFM.IAfm, chartConfig: IChartConfig): IChartConfig;
