/** * @typedef StretchStrategyCalcArgs * @property {number} viewportWidth The width of the viewport. */ /** * The base strategy stretching strategy to extend from. * * @private * @class StretchStrategy */ export declare class StretchStrategy { /** * The width of the viewport. * * @type {number} */ viewportWidth: number; /** * The function to overwrite the column width. * * @type {function(number, number): number | undefined} */ overwriteColumnWidthFn: (width: number, column: number) => number; /** * The map that stores the base column widths. * * @type {Map} */ baseWidths: Map; /** * The map that stores the calculated, stretched column widths. * * @type {Map} */ stretchedWidths: Map; /** * Initializes the stretch strategy with a function that overrides individual column widths during the stretch calculation. */ constructor(overwriteColumnWidthFn: (width: number, column: number) => number); /** * Prepares the strategy for the calculation. * * @param {StretchStrategyCalcArgs} calcArgs The calculation arguments. */ prepare({ viewportWidth }: { viewportWidth: number; }): void; /** * Sets the base widths of the columns with which the strategy will work with. * * @param {number} columnVisualIndex The visual index of the column. * @param {number} columnWidth The width of the column. */ setColumnBaseWidth(columnVisualIndex: number, columnWidth: number): void; /** * Calculates the width of the column. */ calculate(): void; /** * Gets the calculated stretched column widths. * * @returns {Array} */ getWidths(): [number, number][]; }