import { AxisIdentifier } from './GraphContext';
export interface IBarProps {
    /**
     * Array of data points to be represented by bar as segments of the bar.
    */
    Data: number[];
    /**
     * Origin of the Bar on the X-Axis
     */
    BarOrigin: number;
    /**
     * Reference point of data, if the x data represents the left side, center, or right side of the bar.
    */
    XBarOrigin?: 'left' | 'right' | 'center';
    /**
     * Width of the bar
    */
    BarWidth: number;
    /**
     * Identifier for the axis the bars are associated with.
     * @type {AxisIdentifier}
    */
    Axis?: AxisIdentifier;
    /**
     * Legend text for the bar.
    */
    Legend?: string;
    /**
     * Color of the bar.
    */
    Color: string;
    /**
     * Function retrieves an override of the portion of the bar.
     * @param {[number, number]} yValues - The bottom and top of this portion of the bar.
     * @param {number} index - Index of this portion with regard to all bar segments. Counting begins from the lowest portion in ascending order.
    */
    GetBarStyle?: (yValues: [number, number], index: number) => IBarStyle;
}
type FillStyles = 'Hatched' | 'Solid' | undefined;
export interface IBarStyle {
    /**
     * Opacity of this portion bar.
    */
    Opacity?: number;
    /**
     * Color of this portion of the bar.
    */
    Color?: string;
    /**
     * Stroke color of this portion bar.
    */
    StrokeColor?: string;
    /**
     * Stroke width of this portion bar.
    */
    StrokeWidth?: number;
    /**
     * Fill property of the bars, defaults to solid if undefined.
    */
    Fill?: FillStyles;
}
export declare const StackedBar: (props: IBarProps) => JSX.Element;
export default StackedBar;
