import { RxTableColumnProps } from '../RxTable.types'; export interface UseColumnsConfig { /** Columns Array */ columns: RxTableColumnProps[]; /** Set if data will be selectable */ selectable?: boolean; /** Select Column Props */ selectColumnProps?: Partial< Pick< RxTableColumnProps, 'className' | 'headerClassName' | 'key' | 'textAlign' > >; /** The entire table width */ width: number; } export interface Columns { /** Arranged Columns */ columns: RxTableColumnProps[]; /** Columns width object */ columnsWidth: Record; /** The effective table width */ effectiveTableWidth: number; /** Get single column width */ getWidth: (key: string) => number; /** The total columns width */ totalColumnsWidth: number; } export default function useColumns( config: UseColumnsConfig ): Columns;