import { type ColorValue } from 'react-native';
import { type IDataSanitisationProps, type lineDataItem } from '../LineChart/types';
import { type arrowConfigType, CurveType, type HighlightedRange, type LineProperties, type LineSegment, Framework, referenceConfigType } from './types';
import { type lineConfigType, type BarChartPropsType, type FocusedBarConfig, type barDataItem } from '../BarChart/types';
import { type extendedLineChartPropsType } from '../LineChart';
import { type extendedBarChartPropsType } from '../BarChart';
export declare const getCumulativeWidth: (data: any, index: number, spacing: number) => number;
export declare const getLighterColor: (color: string) => string;
export declare const svgQuadraticCurvePath: (points: number[][]) => string;
export declare const svgPath: (points: number[][], curveType?: CurveType, curvature?: number) => string;
export declare const bezierCommand: (point: number[], i: number, a: number[][], curvature: number) => string;
export declare const getSegmentString: (lineSegment: LineSegment[] | undefined, index: number, startDelimeter: string, endDelimeter: string) => string;
export declare const getCurvePathWithSegments: (path: string, lineSegment: LineSegment[] | undefined, startDelimeter: string, endDelimeter: string) => string;
export declare const getPreviousSegmentsLastPoint: (isCurved: boolean, previousSegment: string) => string;
export declare const getPathWithHighlight: (data: lineDataItem[], i: number, highlightedRange: HighlightedRange, startIndex: number, endIndex: number, getX: (i: number) => number, getY: (value: number) => number) => string;
export declare const getRegionPathObjects: (points: string, color: ColorValue, currentLineThickness: number, thickness: number, strokeDashArray: number[], isCurved: boolean, startDelimeter: string, stop: string, endDelimeter: string) => LineProperties[];
export declare const getSegmentedPathObjects: (points: string, color: ColorValue, currentLineThickness: number, thickness: number, strokeDashArray: number[], isCurved: boolean, startDelimeter: string, endDelimeter: string) => LineProperties[];
export declare const getArrowPoints: (arrowTipX: number, arrowTipY: number, x1: number, y1: number, arrowLength?: number, arrowWidth?: number, showArrowBase?: boolean) => string;
interface ReferenceLinesConfig {
    showReferenceLine1?: boolean;
    referenceLine1Position?: number;
    referenceLine1Config?: referenceConfigType;
    showReferenceLine2?: boolean;
    referenceLine2Position?: number;
    referenceLine2Config?: referenceConfigType;
    showReferenceLine3?: boolean;
    referenceLine3Position?: number;
    referenceLine3Config?: referenceConfigType;
    referenceLinesOverChartContent?: boolean;
}
interface IgetAxesAndRulesProps extends BarChartPropsType {
    verticalLinesUptoDataPoint?: boolean;
    referenceLinesConfig: ReferenceLinesConfig;
}
export declare const getAxesAndRulesProps: (props: extendedBarChartPropsType, stepValue: number, negativeStepValue?: number, maxValue?: number) => IgetAxesAndRulesProps;
export declare const getExtendedContainerHeightWithPadding: (containerHeight: number, overflowTop?: number) => number;
export declare const getSecondaryDataWithOffsetIncluded: (secondaryData?: barDataItem[] | lineDataItem[], secondaryYAxis?: any | undefined, showDataPointsForMissingValues?: boolean, interpolateMissingValues?: boolean, onlyPositive?: boolean) => barDataItem[] | lineDataItem[] | undefined;
export declare const getArrowProperty: (property: string, count: number, props: extendedLineChartPropsType, defaultArrowConfig: arrowConfigType) => any;
interface IgetAllArrowProperties {
    arrowLength1: number;
    arrowWidth1: number;
    arrowStrokeWidth1: number;
    arrowStrokeColor1: ColorValue;
    arrowFillColor1: ColorValue;
    showArrowBase1: boolean;
    arrowLength2: number;
    arrowWidth2: number;
    arrowStrokeWidth2: number;
    arrowStrokeColor2: ColorValue;
    arrowFillColor2: ColorValue;
    showArrowBase2: boolean;
    arrowLength3: number;
    arrowWidth3: number;
    arrowStrokeWidth3: number;
    arrowStrokeColor3: ColorValue;
    arrowFillColor3: ColorValue;
    showArrowBase3: boolean;
    arrowLength4: number;
    arrowWidth4: number;
    arrowStrokeWidth4: number;
    arrowStrokeColor4: ColorValue;
    arrowFillColor4: ColorValue;
    showArrowBase4: boolean;
    arrowLength5: number;
    arrowWidth5: number;
    arrowStrokeWidth5: number;
    arrowStrokeColor5: ColorValue;
    arrowFillColor5: ColorValue;
    showArrowBase5: boolean;
    arrowLengthsFromSet?: number[];
    arrowWidthsFromSet?: number[];
    arrowStrokeWidthsFromSet?: number[];
    arrowStrokeColorsFromSet?: ColorValue[];
    arrowFillColorsFromSet?: ColorValue[];
    showArrowBasesFromSet?: boolean[];
}
export declare const getAllArrowProperties: (props: extendedLineChartPropsType, defaultArrowConfig: arrowConfigType) => IgetAllArrowProperties;
interface MaxAndMin {
    maxItem: number;
    minItem: number;
}
export declare const maxAndMinUtil: (maxItem: number, minItem: number, roundToDigits?: number, showFractionalValues?: boolean) => MaxAndMin;
export declare const computeMaxAndMinItems: (data: any[] | undefined, roundToDigits?: number, showFractionalValues?: boolean) => MaxAndMin;
export declare const getLabelTextUtil: (val: string, index: number, showFractionalValues?: boolean, yAxisLabelTexts?: string[], yAxisOffset?: number, yAxisLabelPrefix?: string, yAxisLabelSuffix?: string, roundToDigits?: number, formatYLabel?: ((label: string) => string) | undefined) => string;
export declare const getXForLineInBar: (index: number, firstBarWidth: number, currentBarWidth: number, yAxisLabelWidth: number, lineConfig: any, spacing: number) => number;
export declare const getYForLineInBar: (value: number | undefined, shiftY: number | undefined, containerHeight: number, maxValue: number) => number;
export declare const clone: (obj: any) => any;
export declare const getLineConfigForBarChart: (lineConfig: lineConfigType, barInitialSpacing: number) => lineConfigType;
export declare const getNoOfSections: (noOfSections: number | undefined, maxValue: number | undefined, stepValue: number | undefined) => number;
export declare const getMaxValue: (maxValue: number | undefined, stepValue: number | undefined, noOfSections: number, maxItem: number) => number;
export declare const getMostNegativeValue: (minValue: number | undefined, stepValue: number | undefined, noOfSections: number | undefined, minItem: number) => number;
export declare const getBarFrontColor: (isFocused?: boolean, focusedBarConfig?: FocusedBarConfig, itemFrontColor?: ColorValue, frontColor?: ColorValue, isThreeD?: boolean) => ColorValue;
export declare const getBarSideColor: (isFocused?: boolean, focusedBarConfig?: FocusedBarConfig, itemSideColor?: ColorValue, sideColor?: ColorValue) => ColorValue | undefined;
export declare const getBarTopColor: (isFocused?: boolean, focusedBarConfig?: FocusedBarConfig, itemTopColor?: ColorValue, topColor?: ColorValue) => ColorValue | undefined;
export declare const getBarWidth: (isFocused?: boolean, focusedBarConfig?: FocusedBarConfig, itemBarWidth?: number, barWidth?: number) => number;
export declare const getInterpolatedData: (dataParam: lineDataItem[], showDataPointsForMissingValues?: boolean, interpolateMissingValues?: boolean, onlyPositive?: boolean) => lineDataItem[];
export declare const getLineSegmentsForMissingValues: (data?: lineDataItem[]) => LineSegment[] | undefined;
export declare const getTextSizeForPieLabels: (textSize: number, radius: number) => number;
export declare const adjustToOffset: (data: lineDataItem[], yAxisOffset?: number) => lineDataItem[];
export declare const getSanitisedData: (data: lineDataItem[] | undefined, dataSanitisationProps: IDataSanitisationProps) => lineDataItem[];
export declare const getStrokeDashArray: (strokeDash?: number[] | string, framework?: Framework) => number[] | string | undefined;
export {};
