import { CSSProperties } from 'react';
import { VizzlyTheming } from '../../types';
/**
 * Calculates the width of the given text by creating a temporary HTML element and measuring its offsetWidth.
 * @param text - The text string to measure.
 * @param element - The HTML element type to use for measurement (e.g., 'span').
 * @param styles - Optional styling properties, including fontSize and fontWeight.
 * @returns The calculated width of the text in pixels.
 * OBS: For every function call you should use useMemo to avoid infinitely re-renders (especially in Google Chrome).
 */
export declare const calculateTextWidth: (text: string, element: keyof JSX.IntrinsicElements, styles?: {
    fontSize?: CSSProperties['fontSize'];
    fontWeight?: CSSProperties['fontWeight'];
} | undefined) => number;
export declare const getFontProperties: (element: HTMLElement) => {
    fontFamily: string;
    fontWeight: string;
    fontSize: string;
    letterSpacing: string;
};
/**
 * Calculates the width of a label text, ensuring a minimum width.
 * @param label - The text label to measure.
 * @param labelStyles - Optional styling properties from the theme, including fontSize and fontWeight.
 * @returns The calculated width in pixels, with a minimum of 124 (100 + 24 for padding).
 * OBS: For every function call you should use useMemo to avoid infinitely re-renders (especially in Google Chrome).
 */
export declare function calculateLabelWidth(label: string, labelStyles?: VizzlyTheming.Select): number;
