import { AxisScale, ComputedTick } from '@visx/axis';
import { CSSProperties } from 'react';
import { ChartLabelsTheme, ChartTheme } from '../../types';
import { AxisTitles, AxisType, Props } from '../types';
export declare const calculateTextWidth: (text: string, fontFamily: string, fontWeight: string, fontSize: string, letterSpacing: string) => number;
export declare function useTickWidth(textRef: React.MutableRefObject<SVGTextElement | null>, tick: ComputedTick<AxisScale> & {
    width: number | null;
    labelProps?: Partial<any> | undefined;
    left: number;
}): {
    width: number;
};
export declare const LETTER_SPACING = 0.4;
export declare function trimTextToFit(text: string, availableSpace: number, fontFamily: string, fontSize: string, fontWeight: string, padding?: number): string;
export declare function getTickWidth(ticksArray: ComputedTick<AxisScale>[], tick: ComputedTick<AxisScale>, index: number): number;
export declare const convertFontSizeToString: (fontSize: CSSProperties['fontSize']) => number | (string & {});
export declare const convertFontWeightToNumber: (fontWeight: CSSProperties['fontWeight']) => number | (string & {}) | undefined;
export declare const DEFAULT_FONT_SIZE = 9;
export declare function adjustWidth(fontSize: number, start: number, end: number): number;
export declare function useHorizontalTickPositioning(chartWidth: number | undefined, ticks: ComputedTick<AxisScale>[], xAxisIsTime: boolean, axisFromPoint: number, axisToPoint: number, labelProps?: Partial<any>, theme?: ChartLabelsTheme, increaseTolerance?: boolean): ComputedTick<import("@visx/scale").ValueOf<import("@visx/scale").ScaleTypeToD3Scale<import("@visx/axis").AxisScaleOutput, any, any>>>[];
export declare function getYAxisWidth(horizontal: boolean, xAxisIsTime: boolean, props: Props, theme: ChartTheme | undefined, data: any[], xKey: string): number | undefined;
export declare const getDefaultMargins: (hasHorizontal: boolean, hasLeft: boolean, xAxisType: AxisType, axisTitle?: AxisTitles | undefined, yAxisWidth?: number | undefined, theme?: ChartTheme | undefined) => {
    top: number;
    bottom: number;
    left: number;
    right: number;
};
