import * as React from 'react';
import { ScaleOrdinal } from 'd3-scale';
import { IAccessibilityProps } from '../../index';
import { IChartDataPoint, IDonutChartProps } from './index';
import { IChart, IImageExportOptions } from '../../types/index';
export interface IDonutChartState {
    showHover?: boolean;
    value?: string | undefined;
    legend?: string | undefined;
    _width?: number | undefined;
    _height?: number | undefined;
    activeLegend?: string;
    color?: string | undefined;
    xCalloutValue?: string;
    yCalloutValue?: string;
    focusedArcId?: string;
    dataPointCalloutProps?: IChartDataPoint;
    callOutAccessibilityData?: IAccessibilityProps;
    selectedLegends: string[];
}
export declare class DonutChartBase extends React.Component<IDonutChartProps, IDonutChartState> implements IChart {
    static defaultProps: Partial<IDonutChartProps>;
    _colors: ScaleOrdinal<string, {}>;
    private _classNames;
    private _rootElem;
    private _uniqText;
    private _currentHoverElement;
    private _calloutId;
    private _calloutAnchorPoint;
    private _emptyChartId;
    private _legendsRef;
    static getDerivedStateFromProps(nextProps: Readonly<IDonutChartProps>, prevState: Readonly<IDonutChartState>): Partial<IDonutChartState> | null;
    constructor(props: IDonutChartProps);
    componentDidMount(): void;
    componentDidUpdate(prevProps: IDonutChartProps): void;
    render(): JSX.Element;
    get chartContainer(): HTMLElement | null;
    toImage: (opts?: IImageExportOptions) => Promise<string>;
    private _closeCallout;
    private _elevateToMinimums;
    private _setViewBox;
    private _createLegends;
    private _onLegendSelectionChange;
    private _focusCallback;
    private _hoverCallback;
    private _onBlur;
    private _hoverLeave;
    private _handleChartMouseLeave;
    private _valueInsideDonut;
    private _toLocaleString;
    /**
     * This function returns
     * the selected legend if there is one
     * or the hovered legend if none of the legends is selected.
     */
    private _getHighlightedLegend;
    private _isLegendHighlighted;
    private _noLegendsHighlighted;
    private _isChartEmpty;
    private _addDefaultColors;
}
