import * as React from 'react';
import { IAccessibilityProps, IBasestate, IHorizontalBarChartWithAxisDataPoint, IChart, IImageExportOptions } from '../../types/IDataPoint';
import { IYValueHover } from '../CommonComponents/CartesianChart.types';
import { IHorizontalBarChartWithAxisProps } from './HorizontalBarChartWithAxis.types';
export interface IHorizontalBarChartWithAxisState extends IBasestate {
    selectedLegendTitle: string;
    dataPointCalloutProps?: IHorizontalBarChartWithAxisDataPoint;
    /**
     * data point of x, where rectangle is hovered or focused
     */
    activeXdataPoint: number | null;
    YValueHover: IYValueHover[];
    hoverXValue?: string | number | null;
    callOutAccessibilityData?: IAccessibilityProps;
    tooltipElement?: any;
    selectedLegends: string[];
}
export declare class HorizontalBarChartWithAxisBase extends React.Component<IHorizontalBarChartWithAxisProps, IHorizontalBarChartWithAxisState> implements IChart {
    private _points;
    private _barHeight;
    private _colors;
    private _classNames;
    private _refArray;
    private _calloutId;
    private margins;
    private _isRtl;
    private _bars;
    private _yAxisLabels;
    private _xMax;
    private _tooltipId;
    private _xAxisType;
    private _yAxisType;
    private _calloutAnchorPoint;
    private _cartesianChartRef;
    private _legendsRef;
    constructor(props: IHorizontalBarChartWithAxisProps);
    componentDidUpdate(prevProps: IHorizontalBarChartWithAxisProps): void;
    render(): JSX.Element;
    get chartContainer(): HTMLElement | null;
    toImage: (opts?: IImageExportOptions) => Promise<string>;
    private _getDomainNRangeValues;
    private _adjustProps;
    private _getMargins;
    private _renderContentForOnlyBars;
    private _renderCallout;
    private _getCustomizedCallout;
    private _getGraphData;
    private _createColors;
    private _refCallback;
    private _getCalloutContentForBar;
    private _onBarHover;
    private _onBarLeave;
    private _handleChartMouseLeave;
    private _onBarFocus;
    private _getScales;
    private _createNumericBars;
    private _tooltipOfYAxislabels;
    private _createStringBars;
    private _closeCallout;
    private _onLegendHover;
    private _onLegendLeave;
    private _getLegendData;
    private _isLegendSelected;
    /**
     * 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 _isLegendHighlighted;
    private _getHighlightedLegend;
    private _onLegendSelectionChange;
    private _getAxisData;
    private _getAriaLabel;
    private _getChartTitle;
}
