import type { SCRTDoubleVector, TSciChart } from "../../../../types/TSciChart";
import type { BaseDataSeries } from "../../../Model/BaseDataSeries";
import type { IDataSeries } from "../../../Model/IDataSeries";
import type { NonUniformHeatmapDataSeries } from "../../../Model/NonUniformHeatmapDataSeries";
import type { OhlcDataSeries } from "../../../Model/OhlcDataSeries";
import type { UniformHeatmapDataSeries } from "../../../Model/UniformHeatmapDataSeries";
import type { XyDataSeries } from "../../../Model/XyDataSeries";
import type { XyyDataSeries } from "../../../Model/XyyDataSeries";
import type { CoordinateCalculatorBase } from "../../../Numerics/CoordinateCalculators/CoordinateCalculatorBase";
import type { BaseOhlcRenderableSeries } from "../BaseOhlcRenderableSeries";
import type { FastColumnRenderableSeries } from "../FastColumnRenderableSeries";
import type { FastImpulseRenderableSeries } from "../FastImpulseRenderableSeries";
import type { IRenderableSeries } from "../IRenderableSeries";
import { HitTestInfo } from "./HitTestInfo";
import { ETriangleSeriesDrawMode } from "../../../../types/TriangleSeriesDrawMode";
import type { IErrorRenderableSeries } from "../IErrorRenderableSeries";
type TGetValueFn = (index: number) => number;
export declare const hitTestHelpers: {
    createHitTestInfo: (renderableSeries: IRenderableSeries, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, isVerticalChart: boolean, dataSeries: BaseDataSeries, xNativeValues: SCRTDoubleVector, yNativeValues: SCRTDoubleVector, xHitCoord: number, yHitCoord: number, nearestPointIndex: number, hitTestRadius: number, distance?: number, dataCoordWidth?: number) => HitTestInfo;
    getNearestPoint: (webassemblyContext: TSciChart, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, isSorted: boolean, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => {
        nearestPointIndex: number;
        distance: number;
    };
    getNearestXPoint: (webAssemblyContext: TSciChart, xCoordinateCalculator: CoordinateCalculatorBase, dataSeries: IDataSeries, xHitCoord: number, isSorted: boolean) => number;
    getNearestXyPoint: (webassemblyContext: TSciChart, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, dataSeries: IDataSeries, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => {
        nearestPointIndex: number;
        distance: number;
    };
    getNearestXyyPoint: (webassemblyContext: TSciChart, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, dataSeries: XyyDataSeries, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => {
        nearestPointIndex: number;
        distance: number;
    };
    getNearestUniformHeatmapPoint: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, heatmapDataSeries: UniformHeatmapDataSeries, xHitCoord: number, yHitCoord: number) => {
        xIndex: number;
        yIndex: number;
        zValue: number;
    };
    getNearestNonUniformHeatmapPoint: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, heatmapDataSeries: NonUniformHeatmapDataSeries, xHitCoord: number, yHitCoord: number) => {
        xIndex: number;
        yIndex: number;
        zValue: number;
    };
    getNearestTriangle: (wasmContext: TSciChart, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, xHitCoord: number, yHitCoord: number, drawMode: ETriangleSeriesDrawMode, polygonVertices: number) => {
        nearestPointIndex: number;
        nearestPointIndex2: number;
        isHit: boolean;
    };
    getNearestLineSegment: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, numberOfSegments: number, getXFn: TGetValueFn, getYFn: TGetValueFn, getX1Fn: TGetValueFn, getY1Fn: TGetValueFn, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => {
        nearestPointIndex: number;
        isHit: boolean;
        isWithinDataBounds: boolean;
        nearestDistance: number;
    };
    testIsHitForPoint: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number, hitTestRadius: number, dataSeries: BaseDataSeries) => boolean;
    testIsHitForLine: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number, hitTestRadius: number, dataSeries: BaseDataSeries) => {
        isHit: boolean;
        secondPointIndex: number;
    };
    testIsHitForBand: (isDigitalLine: boolean, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, xValues: SCRTDoubleVector, getYValue: (index: number) => number, getY1Value: (index: number) => number, pointIndex: number, xHitCoord: number, yHitCoord: number, dataSeries: BaseDataSeries) => {
        isHit: boolean;
        secondPointIndex: number;
    };
    testIsHitForColumn: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, columnWidth: number, zeroLineY: number, dataSeries: IDataSeries, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number, distance?: number) => boolean;
    testIsHitForOHLC: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, renderableSeries: FastColumnRenderableSeries | BaseOhlcRenderableSeries, dataSeries: OhlcDataSeries, pointIndex: number, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => {
        isHit: boolean;
        openValue: number;
        highValue: number;
        lowValue: number;
        closeValue: number;
    };
    testIsHitForMountain: (isDigitalLine: boolean, xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, dataSeries: XyDataSeries, zeroLineY: number, pointIndex: number, xHitCoord: number, yHitCoord: number) => {
        isHit: boolean;
        secondPointIndex: number;
    };
    testIsHitForErrorBars: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, renderableSeries: IErrorRenderableSeries, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number) => {
        isHit: boolean;
        highValue: number;
        lowValue: number;
    };
    testIsHitForImpulse: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, renderableSeries: FastImpulseRenderableSeries, xValues: SCRTDoubleVector, yValues: SCRTDoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number, hitTestRadius: number) => boolean;
    testIsHitForBoxPlot: (xCoordinateCalculator: CoordinateCalculatorBase, yCoordinateCalculator: CoordinateCalculatorBase, columnWidth: number, dataSeries: IDataSeries, xValues: SCRTDoubleVector, yMinValues: SCRTDoubleVector, yMaxValues: SCRTDoubleVector, pointIndex: number, xHitCoord: number, yHitCoord: number) => boolean;
};
export {};
