/// <reference types="react" />
import { BarChartRepresentation } from '../../../../../shared-logic/src/BarChartV2/types';
import { ChartOnViewClick } from '../../../../../shared-logic/src/ChartsV2/types';
import { ApproxAxisLabelCountWithAllOptions } from '../../../../../shared-logic/src/Component/types';
import { Result } from '../../../../../shared-logic/src/Result/types';
import { ChartTheme } from '../../../types';
import { ComputeChartLayoutArgs, LayoutPassOutput } from '../../utils/layout/sharedLayout.types';
export declare type BarChartProps = {
    width: number;
    height: number;
    theme?: ChartTheme;
    chart: BarChartRepresentation;
    options: {
        stacked: boolean | string;
        showRoundedTotal: boolean;
        showLegend: boolean;
        showLabels: boolean;
        showSublabels: boolean;
        removeStroke: boolean;
        axis: {
            showXAxisLabels: boolean;
            showYAxisLabels: boolean;
        };
    };
    onClick?: (params: ChartOnViewClick) => void;
    enableHover?: boolean;
    numberOfDimensions: number;
    isDualAxisEnabled?: boolean;
    uniqueId?: string;
    approxXAxisLabelCount: ApproxAxisLabelCountWithAllOptions;
    keepAllXLabels: boolean;
    xKeyField?: Result.Field;
};
export declare const computeBarChartLayout: ({ chart, width, height, showYAxisLabels, hasLeftTitle, hasBottomTitle, showDetailedSubGroupingLabels, isDualAxisEnabled, hasDualYAxisTitle, approxXAxisLabelCount, keepAllXLabels, xKeyField, layoutAdjustments, theme, isStacked100, }: ComputeChartLayoutArgs<BarChartRepresentation>) => LayoutPassOutput<BarChartRepresentation, {
    labelRotationData: BarChartRepresentation['x']['labelRotationData'];
}>;
export declare const BarChart: ({ chart, width, height, options, theme, onClick, enableHover, numberOfDimensions, isDualAxisEnabled, uniqueId, approxXAxisLabelCount, keepAllXLabels, xKeyField, }: BarChartProps) => JSX.Element;
