import * as React from 'react';
import { IModifiedCartesianChartProps } from '../../index';
import { ChartTypes } from '../../utilities/index';
import { IChart } from '../../types/index';
export interface ICartesianChartState {
    containerWidth: number;
    containerHeight: number;
    _width: number;
    _height: number;
    isRemoveValCalculated?: boolean;
    _removalValueForTextTuncate?: number;
    startFromX: number;
}
/**
 * Cartesian chart used for
 * 1.draw X and Y axis of the chart
 * 2.Callout
 * 3.Fit parent Continer
 */
export declare class CartesianChartBase extends React.Component<IModifiedCartesianChartProps, ICartesianChartState> implements IChart {
    chartContainer: HTMLDivElement;
    private _classNames;
    private legendContainer;
    private minLegendContainerHeight;
    private xAxisElement;
    private yAxisElement;
    private yAxisElementSecondary;
    private margins;
    private idForGraph;
    private idForDefaultTabbableElement;
    private _reqID;
    private _isRtl;
    private _tickValues;
    private titleMargin;
    private _isFirstRender;
    private _xScale;
    private isIntegralDataset;
    constructor(props: IModifiedCartesianChartProps);
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(prevProps: IModifiedCartesianChartProps): void;
    calculateMaxYAxisLabelLength: (chartType: ChartTypes, points: any[], className: string) => number;
    render(): JSX.Element;
    /**
     * Dedicated function to return the Callout JSX Element , which can further be used to only call this when
     * only the calloutprops and charthover props changes.
     * @param calloutProps
     * @param chartHoverProps
     * @returns
     */
    private _generateCallout;
    private _multiValueCallout;
    private _yValueHoverSubCountsExists;
    private _getCalloutContent;
    /**
     * When screen resizes, along with screen, chart also auto adjusted.
     * This method used to adjust height and width of the charts.
     */
    private _fitParentContainer;
    private _getData;
    private _onChartLeave;
    private _calculateChartMinWidth;
    private _getChartDescription;
    private _getAxisTitle;
}
