import type { CoordinateCalculatorBase } from "../Charting/Numerics/CoordinateCalculators/CoordinateCalculatorBase";
import { ECoordinateMode } from "../Charting/Visuals/Annotations/types/ECoordinateMode";
import type { TDataValueCoordinate, TAbsoluteCoordinate, TPixelCoordinate, TRelativeCoordinate, TCoordinateTypeForMode, TTargetModeCoordinate, TCoordinate } from "./CoordinateType";
export declare function addCoord<T extends TCoordinate>(a: T, b: T): T;
export declare function subtractCoord<T extends TCoordinate>(a: T, b: T): T;
export declare function convertDataValueToAbsoluteCoordinate(value: TDataValueCoordinate, calc: CoordinateCalculatorBase): TAbsoluteCoordinate;
export declare function convertPixelValueToAbsoluteCoordinate(value: TPixelCoordinate): TAbsoluteCoordinate;
export declare function convertRelativeValueToAbsoluteCoordinate(value: TRelativeCoordinate, calc: CoordinateCalculatorBase): TAbsoluteCoordinate;
export declare function convertToAbsoluteCoordinate<TCoordinateMode extends ECoordinateMode>(value: TCoordinateTypeForMode[TCoordinateMode], calc: CoordinateCalculatorBase, currentCoordinateMode: TCoordinateMode): TAbsoluteCoordinate;
export declare function convertAbsoluteCoordinateToDataValue(coord: TAbsoluteCoordinate, calc: CoordinateCalculatorBase): TDataValueCoordinate;
export declare function convertAbsoluteCoordinateToPixelValue(coord: TAbsoluteCoordinate): TPixelCoordinate;
export declare function convertAbsoluteCoordinateToRelativeValue(coord: TAbsoluteCoordinate, calc: CoordinateCalculatorBase): TRelativeCoordinate;
export declare function convertFromAbsoluteCoordinate<TCoordinateMode extends ECoordinateMode>(coord: TAbsoluteCoordinate, calc: CoordinateCalculatorBase, targetCoordinateMode: TCoordinateMode): TDataValueCoordinate | TPixelCoordinate | TRelativeCoordinate;
export declare function convertCoordinateMode<TCurrentCoordinateMode extends ECoordinateMode, TTargetCoordinateMode extends ECoordinateMode>(value: TCoordinateTypeForMode[TCurrentCoordinateMode], calc: CoordinateCalculatorBase, currentCoordinateMode: TCurrentCoordinateMode, targetCoordinateMode: TTargetCoordinateMode): TTargetModeCoordinate;
export declare function convertToDataValue<TCurrentCoordinateMode extends ECoordinateMode>(value: TCoordinateTypeForMode[TCurrentCoordinateMode], calc: CoordinateCalculatorBase, currentCoordinateMode: TCurrentCoordinateMode): TDataValueCoordinate;
export declare function convertToPixelCoordinate<TCurrentCoordinateMode extends ECoordinateMode>(value: TCoordinateTypeForMode[TCurrentCoordinateMode], calc: CoordinateCalculatorBase, currentCoordinateMode: TCurrentCoordinateMode): TPixelCoordinate;
export declare function convertToRelativeCoordinate<TCurrentCoordinateMode extends ECoordinateMode>(value: TCoordinateTypeForMode[TCurrentCoordinateMode], calc: CoordinateCalculatorBase, currentCoordinateMode: TCurrentCoordinateMode): TRelativeCoordinate;
export declare function convertCoordinateFromDataValue<TTargetCoordinateMode extends ECoordinateMode>(value: TDataValueCoordinate, calc: CoordinateCalculatorBase, targetCoordinateMode: TTargetCoordinateMode): TTargetModeCoordinate;
export declare function convertCoordinateFromPixelValue<TTargetCoordinateMode extends ECoordinateMode>(value: TPixelCoordinate, calc: CoordinateCalculatorBase, targetCoordinateMode: TTargetCoordinateMode): TTargetModeCoordinate;
export declare function convertCoordinateFromRelativeValue<TTargetCoordinateMode extends ECoordinateMode>(value: TRelativeCoordinate, calc: CoordinateCalculatorBase, targetCoordinateMode: TTargetCoordinateMode): TTargetModeCoordinate;
