import { type HTMLAttributes } from 'react';
import '../styles/components/histogram.scss';
export type Range = [start: number, end: number];
type Props = {
/**
* The left-most, smallest, value the histogram starts at irrespective of the array values. Defaults to min(values).
*/
min?: number;
/**
* The right-most, largest, value the histogram ends at irrespective of the array values. Defaults to max(values).
*/
max?: number;
/**
* An array of values which the histogram is based on.
*/
values: number[];
/**
* An array of unfiltered values which the histogram is based on.
* (useful to calculated max bin height)
*/
unfilteredValues?: number[];
/**
* A value which specifies the start and end points selected by the user.
*/
selectedRange?: Range;
/**
* The height in pixels of the bin with the most values.
*/
height?: number;
/**
* Label to appear to the left of the axis
*/
yLabel?: string;
/**
* Label to appear under the axis
*/
xLabel?: string;
/**
* Display a shadow of the unfiltered data (opacity value)
*/
unfilteredValuesShadow?: number;
/**
* Additional CSS classnames to apply (eg secondary, tertiary)
*/
className?: string;
} & ({
/**
* Number of bins (intervals) which the values are allocated to.
* One of either binSize or nBins must be provided.
*/
nBins: number;
binSize?: never;
} | {
nBins?: never;
/**
* The interval size of each bin.
* One of either binSize or nBins must be provided.
*/
binSize: number;
});
declare const Histogram: ({ selectedRange, values, unfilteredValues, nBins: nBinsOrUndef, min: minOrUndef, max: maxOrUndef, height, binSize: binSizeOrUndef, xLabel, yLabel, unfilteredValuesShadow, className, children, ...props }: Props & HTMLAttributes) => import("react/jsx-runtime").JSX.Element;
export default Histogram;
//# sourceMappingURL=histogram.d.ts.map