import { TypeIndex } from '../Legend/Legend';
import { ChartType } from '../Legend/types';
import { AxisType, GoalLine, Props } from './types';
export declare const getTypeIndex: (props: Props) => TypeIndex[];
export declare const findChartType: (key: string, chartProps?: Props | undefined) => ChartType | null;
export declare function runColorFormatter(chartProps: Props, chartType: ChartType, key: string, datum: any): string | null | undefined;
export declare function getDatumForOnPointer<T>(datum: any, x: string, isStacked?: boolean): T;
export declare const getMaxValue: (data: string | any[], keys: any) => number;
export declare const getMinValue: (data: string | any[], keys: any) => number;
export declare function axisTypes(approxXAxisLabelCount: string | number, approxYAxisLabelCount: string | number): {
    yAxisType: AxisType;
    xAxisType: AxisType;
    xAxisAttributes: {
        left: number;
    } | null;
};
export declare const useMinMaxValue: (props: Props) => {
    maxValue: number;
    minValue: number;
};
export declare function getAxisType(approxXAxisLabelCount: string | number, approxYAxisLabelCount: string | number): {
    xAxisType: AxisType;
    xAxisAttributes: {
        left: number;
    } | null;
    yAxisType: AxisType;
};
export declare function getYScale(goalLine: GoalLine[] | undefined, maxValue: number, minValue: number, horizontal: boolean, xAxisIsTime: boolean, yDomain?: [number | null | undefined, number | null | undefined]): import("./types").ScaleConfig | undefined;
export declare function resolveYDomain(goalLine: GoalLine[] | undefined, maxValue: number, minValue: number, yDomain?: [number | null | undefined, number | null | undefined]): [number, number] | undefined;
export declare function getRenderedYScaleRange({ chartHeight, marginTop, marginBottom, isFunnelChart, yDomain, }: {
    chartHeight: number;
    marginTop: number;
    marginBottom: number;
    isFunnelChart: boolean;
    yDomain?: [number | null | undefined, number | null | undefined];
}): [number, number];
export declare function getExplicitYTickValues(scale: {
    ticks: Function;
    domain: () => number[];
}, tickCount: number, yDomain?: [number | null | undefined, number | null | undefined], options?: {
    preferEvenSpacing?: boolean;
}): number[] | undefined;
export declare const strokeDasharrayToBorderStyle: (strokeDasharray?: string | number | undefined) => string;
