import type { DataAccessObject } from '../types'; import type Settings from '../settings'; /** * Column utils class contains all necessary information about sizes of the columns. * * @class {ColumnUtils} */ export default class ColumnUtils { /** * @type {TableDao} */ dataAccessObject: DataAccessObject; /** * @type {Settings} */ wtSettings: Settings; /** * @type {Map} */ headerWidths: Map; /** * @param {TableDao} dataAccessObject The table Data Access Object. * @param {Settings} wtSettings The walkontable settings. */ constructor(dataAccessObject: DataAccessObject, wtSettings: Settings); /** * Returns column width based on passed source index. * * @param {number} sourceIndex Column source index. * @returns {number} */ getWidth(sourceIndex: number): number | undefined; /** * Returns column header height based on passed header level. * * @param {number} level Column header level. * @returns {number} */ getHeaderHeight(level: number): number; /** * Returns column header width based on passed source index. * * @param {number} sourceIndex Column source index. * @returns {number} */ getHeaderWidth(sourceIndex: number): number | undefined; /** * Calculates column header widths that can be retrieved from the cache. */ calculateWidths(): void; }