import React from 'react';
import PropTypes from 'prop-types';
import { ScaleBand, ScaleLinear } from 'd3-scale';
import { Selection } from 'd3-selection';
import { StackedBarChartItem, StackedBarChartProps } from './StackedBarChart.types';
type StackedBarChartState = {
    data: {
        sum: number;
        label: string;
        values: number[];
    }[];
    x: ScaleBand<string>;
    y: ScaleLinear<number, number, never>;
    yAxis?: unknown;
    width?: number;
    svg?: Selection<SVGSVGElement, unknown, any, undefined>;
};
declare class StackedBarChart extends React.PureComponent<StackedBarChartProps, StackedBarChartState> {
    chart: React.RefObject<SVGSVGElement>;
    data: never[];
    colors: any[];
    newBrandingColors: any[];
    margin: {
        top: number;
        right: number;
        bottom: number;
        left: number;
        gap: number;
        barWidth: number;
    } & {
        top: number;
        left: number;
        bottom: number;
        right: number;
    };
    height: number;
    chartHeight: number;
    static displayName: string;
    static defaultProps: {
        data: never[];
        width: number;
        height: number;
        margin: {
            top: number;
            right: number;
            bottom: number;
            left: number;
            gap: number;
            barWidth: number;
        };
        tooltipCommonProps: {};
        yAxisTickFormat: (n: number | {
            valueOf(): number;
        }) => string;
    };
    static propTypes: {
        dataHook: PropTypes.Requireable<string>;
        className: PropTypes.Requireable<string>;
        data: PropTypes.Requireable<(PropTypes.InferProps<{
            label: PropTypes.Requireable<PropTypes.ReactNodeLike>;
            values: PropTypes.Requireable<(number | null | undefined)[]>;
        }> | null | undefined)[]>;
        tooltipTemplate: PropTypes.Requireable<(...args: any[]) => any>;
        tooltipCommonProps: PropTypes.Requireable<PropTypes.InferProps<any>>;
        height: PropTypes.Requireable<number>;
        width: PropTypes.Requireable<number>;
        margin: PropTypes.Requireable<PropTypes.InferProps<{
            right: PropTypes.Requireable<number>;
            left: PropTypes.Requireable<number>;
            bottom: PropTypes.Requireable<number>;
            top: PropTypes.Requireable<number>;
        }>>;
        yAxisTickFormat: PropTypes.Requireable<(...args: any[]) => any>;
    };
    constructor(props: StackedBarChartProps);
    _getAmountOfBarsCanRender: (data?: StackedBarChartItem[]) => StackedBarChartItem[];
    _update: () => void;
    componentDidMount(): void;
    componentDidUpdate(prevProps: StackedBarChartProps): boolean;
    render(): React.JSX.Element;
}
export default StackedBarChart;
//# sourceMappingURL=StackedBarChart.d.ts.map