import { Key } from 'react'; import { CSSValueWithLength } from '../../styles'; import { DataTableColumnsType, DataTableRenderExpandedRow, DataTableRowType, DataTableSelectableRows, Scroll } from './types'; export interface UseTableColumnsProps { columns: DataTableColumnsType; } export declare const isIntrinsicSizeKeyword: (value: CSSValueWithLength) => boolean; /** fixed 레이아웃은 콘텐츠를 보지 않아 키워드로는 미지정 컬럼 최소 너비를 확보할 수 없어 숫자 합으로 치환한다. */ export declare function resolveScrollX(scroll: Scroll | undefined, cols: Array<{ width?: number; minWidth?: number; }>): Scroll | undefined; /** * 컬럼/그룹 컬럼을 평탄화해 colgroup 렌더용 `{ id?, width?, minWidth? }` 배열로 반환한다. * - 그룹 컬럼은 하위 컬럼으로 펼치고, 일반 컬럼은 그대로 매핑한다. */ export declare function getColGroup({ columns, }: UseTableColumnsProps): Array<{ id?: string; width?: number; minWidth?: number; }>; export declare function getGroupColumns({ columns }: UseTableColumnsProps): DataTableColumnsType; export declare function getFlattenColumns({ columns, }: UseTableColumnsProps): DataTableColumnsType; interface GetTotalColumnCountProps extends UseTableColumnsProps { selectableRows?: DataTableSelectableRows; hasExpandButton?: boolean; renderExpandedRow?: DataTableRenderExpandedRow; } export declare function getTotalColumnCount({ columns, selectableRows, hasExpandButton, renderExpandedRow, }: GetTotalColumnCountProps): number; export declare function getFixedMergeColumn(columns: DataTableColumnsType, selectableRows: boolean, columnCount: number, renderExpandedRow: boolean): number; export declare function defaultRowSelectionKeyExtractor(row: DataTableRowType): Key; export declare function defaultRowKeyExtractor(row: DataTableRowType, rowIndex: number): Key; export {};