import * as React from 'react';
import { IAccessibilityProps, IBasestate, ILineChartProps, ILineChartPoints, ICustomizedCalloutData, IColorFillBarsProps, ILineChartDataPoint } from '../../index';
import { IChart, IImageExportOptions } from '../../types/index';
type LineChartDataWithIndex = ILineChartPoints & {
    index: number;
};
export interface ILineChartState extends IBasestate {
    selectedLegendPoints: LineChartDataWithIndex[];
    selectedColorBarLegend: IColorFillBarsProps[];
    isSelectedLegend: boolean;
    dataPointCalloutProps?: ICustomizedCalloutData;
    stackCalloutProps?: ICustomizedCalloutData;
    activePoint?: string;
    xAxisCalloutAccessibilityData?: IAccessibilityProps;
    nearestCircleToHighlight: ILineChartDataPoint | null;
    activeLine: number | null;
}
export declare class LineChartBase extends React.Component<ILineChartProps, ILineChartState> implements IChart {
    static defaultProps: Partial<ILineChartProps>;
    private _points;
    private _calloutPoints;
    private _xAxisScale;
    private _yAxisScale;
    private _circleId;
    private _lineId;
    private _borderId;
    private _verticalLine;
    private _colorFillBarPatternId;
    private _uniqueCallOutID;
    private _refArray;
    private margins;
    private eventLabelHeight;
    private lines;
    private _renderedColorFillBars;
    private _colorFillBars;
    private _tooltipId;
    private _rectId;
    private _staticHighlightCircle;
    private _createLegendsMemoized;
    private _firstRenderOptimization;
    private _emptyChartId;
    private _isRTL;
    private _cartesianChartRef;
    private _legendsRef;
    private _xMin;
    private _yMin;
    private _xMax;
    private _xPadding;
    private _yPadding;
    constructor(props: ILineChartProps);
    componentDidUpdate(prevProps: ILineChartProps): void;
    render(): JSX.Element;
    get chartContainer(): HTMLElement | null;
    toImage: (opts?: IImageExportOptions) => Promise<string>;
    private _getDomainNRangeValues;
    private _injectIndexPropertyInLineChartData;
    private _getCustomizedCallout;
    private _getNumericMinMaxOfY;
    private _getMargins;
    private _initializeLineChartData;
    private _handleSingleLegendSelectionAction;
    private _onHoverCardHide;
    private _createLegends;
    private _closeCallout;
    private _getBoxWidthOfShape;
    private _getPath;
    private _getPointFill;
    private _getRangeForScatterMarkerSize;
    private _createLines;
    private _createColorFillBars;
    private _getStripePattern;
    private _checkInGap;
    private _refCallback;
    private _onMouseOverLargeDataset;
    private _handleFocus;
    private _handleHover;
    /**
     * Screen readers announce an element as clickable if the onClick attribute is set.
     * This function sets the attribute only when a click event handler is provided.
     */
    private _getClickHandler;
    private _handleMouseOut;
    private _handleChartMouseLeave;
    private _handleLegendClick;
    private _handleMultipleLineLegendSelectionAction;
    private _handleMultipleColorFillBarLegendSelectionAction;
    private _clearMultipleLegendSelections;
    /**
     * 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 _getColorFillBarOpacity;
    private _getAriaLabel;
    private _getDomainNRangeValuesWithPadding;
    private _isChartEmpty;
    private _getChartTitle;
}
export {};
