export interface MeasurementConfig {
    fontSize: string;
    fontFamily: string;
    fontWeight: string | number;
}
export declare const DEFAULT_MEASUREMENT_CONFIG: MeasurementConfig;
export declare function measureTextWidth(text: string, config?: MeasurementConfig): number;
export declare function getFontConfig(element?: HTMLElement): MeasurementConfig;
export declare function formatValueForMeasurement(value: any, type?: string): string;
export declare function cleanupMeasurementContext(): void;
export interface SampleConfig {
    maxRows: number;
    headers: any[];
    data: any[];
    tableHeaders: any[];
}
export interface WidthConstraints {
    min: number;
    max?: number;
    padding: number;
}
export interface WidthCalculationResult {
    [columnName: string]: number;
}
export interface HeaderConfig {
    name: string;
    label: string;
    width?: number | string;
    enableSorting?: boolean;
    type?: 'date' | 'number' | 'string';
    render?: (value: any, row: any, data: any) => React.ReactNode;
}
export declare function calculateColumnWidths(headers: HeaderConfig[], rowContentSamples: {
    [columnName: string]: string[];
}, measurementConfig: MeasurementConfig, constraints: WidthConstraints, t: any): WidthCalculationResult;
export declare function sampleRowContent(config: SampleConfig): {
    [columnName: string]: string[];
};
export declare function getCheckboxColumnWidth(): number;
