import { ColumnSize } from './Column'; import { GridNode } from '../grid/GridCollection'; import { Key } from '@react-types/shared'; import { ITableCollection as TableCollection } from './TableCollection'; export interface TableColumnLayoutOptions { getDefaultWidth?: (column: GridNode) => ColumnSize | null | undefined; getDefaultMinWidth?: (column: GridNode) => ColumnSize | null | undefined; } export declare class TableColumnLayout { getDefaultWidth: (column: GridNode) => ColumnSize | null | undefined; getDefaultMinWidth: (column: GridNode) => ColumnSize | null | undefined; columnWidths: Map; columnMinWidths: Map; columnMaxWidths: Map; constructor(options: TableColumnLayoutOptions); /** Takes an array of columns and splits it into 2 maps of columns with controlled and columns with uncontrolled widths. */ splitColumnsIntoControlledAndUncontrolled(columns: Array>): [Map>, Map>]; /** Takes uncontrolled and controlled widths and joins them into a single Map. */ recombineColumns(columns: Array>, uncontrolledWidths: Map, uncontrolledColumns: Map>, controlledColumns: Map>): Map; /** Used to make an initial Map of the uncontrolled widths based on default widths. */ getInitialUncontrolledWidths(uncontrolledColumns: Map>): Map; getColumnWidth(key: Key): number; getColumnMinWidth(key: Key): number; getColumnMaxWidth(key: Key): number; resizeColumnWidth(collection: TableCollection, uncontrolledWidths: Map, col: Key, width: number): Map; buildColumnWidths(tableWidth: number, collection: TableCollection, widths: Map): Map; }