import { VisType } from "../../../../constants/visualizationTypes";
import { IChartConfig, ISeriesItem } from "../../../../interfaces/Config";
export interface IRectByPoints {
    left: number;
    right: number;
    top: number;
    bottom: number;
}
export interface IRectBySize {
    x: number;
    y: number;
    width: number;
    height: number;
    show?: () => {};
    hide?: () => {};
}
export declare const rectanglesAreOverlapping: (r1: IRectByPoints, r2: IRectByPoints, padding?: number) => boolean;
export declare const isIntersecting: (r1: IRectBySize, r2: IRectBySize) => boolean;
export declare const toNeighbors: (array: any) => [{}, {}][];
export declare const getVisibleSeries: (chart: any) => any;
export declare const getHiddenSeries: (chart: any) => any;
export declare const getDataPoints: (series: ISeriesItem[]) => {}[];
export declare const getDataPointsOfVisibleSeries: (chart: any) => {}[];
export declare const getChartType: (chart: any) => string;
export declare const isStacked: (chart: any) => boolean;
export declare function getChartProperties(config: IChartConfig, type: VisType): any;
export declare const getPointPositions: (point: any) => {
    shape: any;
    label: any;
    labelPadding: any;
    show: () => any;
    hide: () => any;
};
export declare function getShapeAttributes(point: any): IRectBySize;
export declare function shouldFollowPointerForDualAxes(chartOptions: any): any;
export declare function shouldFollowPointer(chartOptions: any): boolean;
export declare function getStackedMaxValue(series: ISeriesItem[]): number;
export declare function getStackedMinValue(series: ISeriesItem[]): number;
export declare function shouldStartOnTick(chartOptions: any, axisPropsKey?: string): boolean;
export declare function shouldEndOnTick(chartOptions: any, axisPropsKey?: string): boolean;
export declare function shouldXAxisStartOnTickOnBubbleScatter(chartOptions: any): boolean;
export declare function shouldYAxisStartOnTickOnBubbleScatter(chartOptions: any): boolean;
export interface IAxisRange {
    minAxisValue: number;
    maxAxisValue: number;
}
export interface IAxisRangeForAxes {
    first?: IAxisRange;
    second?: IAxisRange;
}
export declare function getAxisRangeForAxes(chart: any): IAxisRangeForAxes;
export declare function pointInRange(pointValue: number, axisRange: IAxisRange): boolean;
export declare function alignChart(chart: Highcharts.Chart): void;
