import * as React from 'react';
import { QueryWrapperChildProps } from './QueryWrapper';
import { QueryResultBundle } from '../utils/synapseTypes/';
export declare const PREVIOUS_ITEM_CLICK = "left click";
export declare const NEXT_CLICK = "right click";
declare type Rect = {
    height: number;
    width: number;
    top: number;
    left: number;
    right: number;
    bottom: number;
};
declare type MeasureRect = {
    bounds: Rect;
};
export declare type StackedBarChartState = {
    selectedFacets: {};
    dimensions: MeasureRect;
};
export declare type StackedBarChartProps = {
    link?: string;
    linkText?: string;
};
declare type Info = {
    value: string;
    count: number;
    index: number;
};
declare type InternalProps = StackedBarChartProps & QueryWrapperChildProps;
/**
 * Make a simple stacked bar chart
 *
 * @class StackedBarChart
 * @extends {React.Component}
 */
export default class StackedBarChart extends React.Component<InternalProps, StackedBarChartState> {
    constructor(props: InternalProps);
    /**
     * Updates the hover text and update the view
     *
     * @memberof StackedBarChart
     */
    handleHover(event: React.MouseEvent<SVGRectElement>): void;
    /**
     * Update the hover text and the view
     *
     * @param {*} event
     * @memberof StackedBarChart
     */
    handleExit(event: React.MouseEvent<SVGRectElement>): void;
    /**
     * Handle column click event
     */
    handleClick: (dict: Info) => (_event: React.MouseEvent<SVGElement>) => void;
    handleArrowClick: (direction: string) => (_event: React.MouseEvent) => number;
    getTextForChartSelection(xData: any): JSX.Element;
    getFileCount(xData: any): any;
    render(): JSX.Element;
    extractPropsData(data?: QueryResultBundle): any[];
    onMeasureResize(contentRect: any): void;
}
export {};
