import type { TableColumn } from '@mezzanine-ui/core/table'; /** * Check if width calculation should be applied. * Only calculate explicit widths for root tables (not nested). * Nested tables should let columns use natural CSS behavior. */ export declare function shouldCalculateWidths(isNestedTable: boolean, containerWidth: number | undefined): boolean; /** * Clamp a width value between min and max bounds */ export declare function clampWidth(width: number, minWidth?: number, maxWidth?: number): number; export interface CalculateColumnWidthsOptions { /** Action columns (drag handle, selection, expansion) total width */ actionColumnsWidth: number; /** All data columns */ columns: TableColumn[]; /** Container width */ containerWidth: number; /** Get resized column width by key */ getResizedColumnWidth?: (key: string) => number | undefined; } /** * Calculate the resolved width for each column. * - Columns with explicit width use that value * - Columns without width share the remaining space equally (simulating flex: 1) * - All widths are clamped to minWidth/maxWidth if specified */ export declare function calculateColumnWidths({ actionColumnsWidth, columns, containerWidth, getResizedColumnWidth, }: CalculateColumnWidthsOptions): Map;