import * as React from 'react';
import { IAccessibilityProps, IBasestate, IVerticalBarChartProps, IVerticalBarChartDataPoint, IYValueHover } from '../../index';
import { IChart, IImageExportOptions } from '../../types/index';
export interface IVerticalBarChartState extends IBasestate {
    dataPointCalloutProps?: IVerticalBarChartDataPoint;
    /**
     * data point of x, where rectangle is hovered or focused
     */
    activeXdataPoint: number | string | Date | null;
    YValueHover: IYValueHover[];
    hoverXValue?: string | number | null;
    callOutAccessibilityData?: IAccessibilityProps;
    calloutLegend: string;
    selectedLegends: string[];
}
export declare class VerticalBarChartBase extends React.Component<IVerticalBarChartProps, IVerticalBarChartState> implements IChart {
    static defaultProps: Partial<IVerticalBarChartProps>;
    private _points;
    private _barWidth;
    private _colors;
    private _classNames;
    private _refArray;
    private _calloutId;
    private margins;
    private _isRtl;
    private _bars;
    private _xAxisLabels;
    private _yMax;
    private _yMin;
    private _isHavingLine;
    private _tooltipId;
    private _xAxisType;
    private _calloutAnchorPoint;
    private _domainMargin;
    private _emptyChartId;
    private _xAxisInnerPadding;
    private _xAxisOuterPadding;
    private _cartesianChartRef;
    private _legendsRef;
    constructor(props: IVerticalBarChartProps);
    componentDidUpdate(prevProps: IVerticalBarChartProps): void;
    render(): JSX.Element;
    get chartContainer(): HTMLElement | null;
    toImage: (opts?: IImageExportOptions) => Promise<string>;
    private _getDomainNRangeValues;
    private _createLine;
    private _getCircleVisibilityAndRadius;
    private _checkForLine;
    private _adjustProps;
    private _getMargins;
    private _renderContentForBothLineAndBars;
    private _renderContentForOnlyBars;
    private _renderCallout;
    private _getCustomizedCallout;
    private _getGraphData;
    private _createColors;
    private _refCallback;
    private _getCalloutContentForLineAndBar;
    private _onBarHover;
    private _onBarLeave;
    private _handleChartMouseLeave;
    private _onBarFocus;
    private _lineHover;
    private _lineFocus;
    private _lineHoverFocus;
    private _getScales;
    private _calculateMinBarHeight;
    private _createNumericBars;
    private _createStringBars;
    private _createDateBars;
    private _closeCallout;
    private _onLegendHover;
    private _onLegendLeave;
    private _getLegendData;
    private _onLegendSelectionChange;
    private _getAxisData;
    /**
     * This function checks if the given legend is highlighted or not.
     * A legend can be highlighted in 2 ways:
     * 1. selection: if the user clicks on it
     * 2. hovering: if there is no selected legend and the user hovers over it
     */
    private _legendHighlighted;
    /**
     * This function checks if none of the legends is selected or hovered.
     */
    private _noLegendHighlighted;
    private _getHighlightedLegend;
    private _getAriaLabel;
    private _renderBarLabel;
    private _getDomainMargins;
    private _isChartEmpty;
    private _getChartTitle;
}
