import { CloneFn } from '../utils/types.js'; import { TreeNode, TreeNodeMetadata, TreeServiceI } from './types.js'; export declare class HeaderTreeService implements TreeServiceI { hasGrandTotals: boolean; /** * columns TreeService * * * @private */ columnsTreeService?: TreeServiceI; /** * corner TreeService * * * @private */ cornerTreeService?: TreeServiceI; /** * Final 2D array * * * @private */ grid?: Array>; /** * columns grid offset base on corner size * * * @private */ cornerOffset: number; constructor(cornerTreeService?: TreeServiceI, columnsTreeService?: TreeServiceI); /** * Returns grid (2d list) of tree structure * * @returns {Array>} - 2d list */ getGrid(): Array>; /** * Returns TreeNode item if exist for appropriate coordinates (rowIndex, columnIndex) * * @param {number} rowIndex - row index * @param {number} columnIndex - column index * @returns {TreeNode|undefined} - TreeNode item */ getTreeNode(rowIndex: number, columnIndex: number): TreeNode | undefined; /** * Defines if cell with (rowIndex, columnIndex) coordinate is children cell or main one * * @param {number} rowIndex - row index of the cell * @param {number} columnIndex - column index of the cell * @returns {boolean} - true - if children, false if main one */ isChildren(rowIndex: number, columnIndex: number): boolean; /** * Defines if cell with (rowIndex, columnIndex) coordinate has children column/row cells or not * * @param {number} rowIndex - row index of the cell * @param {number} columnIndex - column index of the cell * @returns {boolean} - true - has children column/row cells, false - does not have */ hasChildren(rowIndex: number, columnIndex: number): boolean; getMainCellWidth(rowIndex: number, columnIndex: number, columnWidth: Function, borderWidth: number, options?: { offsetTop?: number; columnsOffset?: number; }): number; /** * Updates merge object for the cell if it has children cells * * @param {number} rowIndex - cell row index * @param {number} columnIndex - cell column index * @returns {object} - new merge object */ getMainCellSpans(rowIndex: number, columnIndex: number): { colSpan?: number; rowSpan?: number; }; /** * Align start index in case of long merged cell * * @param {number} startIndex - initial start index * @param {boolean} isVertical - defines if it is vertical grid or not * @returns {number} - new start index */ alignStartIndex(startIndex: number, isVertical?: boolean): number; /** * Align stop index in case of long merged cell * * @param {number} stopIndex - initial stop index * @param {boolean} isVertical - defines if it is vertical grid or not * @returns {number} - new stop index */ alignStopIndex(stopIndex: number, isVertical?: boolean): number; /** * Returns number of last children for the tree * * @param {Array | TreeNode} item - tree node or list of nodes * @returns {number} - count of last children */ getTreeChildLength(item?: Array | TreeNode): number; /** * Returns deep level of the tree * * @param {Array | TreeNode} item - tree node or list of nodes * @returns {number} - count of last children */ getTreeDeepsLength(item?: Array | TreeNode): number; /** * Sets value node when it's single * * @param {TreeNode} valueNode - values measure node * @returns {void} */ setValueNode(valueNode: TreeNode): void; /** * Returns cell meta information * * @param {number} rowIndex - cell row index * @param {number} columnIndex - cell column index * @param {{ to: number }} [options] - additional configuration options * @returns {{levels: Array, siblings: Array}} - meta information */ getMetadata(rowIndex: number, columnIndex: number, options?: { from: number; to: number; }): TreeNodeMetadata | undefined; destroy(): void; /** * Returns array of last tree nodes * Should not be called for header * * @returns {Array} - list of tree nodes * @deprecated */ getLastLevelNodes(): Array; /** * Extract 2D array of data base on columnsTreeService * Should not be called for header * * @param {TreeServiceI} columnsTreeService - tree service according to which align the data * @returns {Array>} - 2D array of data * @deprecated */ extractData(columnsTreeService?: TreeServiceI): Array>; /** * Adds additional tree node to current state * Should not be called for header * * @param {TreeNode} tree - new treeNode * @returns {void} * @deprecated */ extend(tree?: TreeNode): void; /** * Returns part of current tree with possible cut nodes according to "from" - "to" position * Should not be called for header * * @param {number} from - start rows index for partial grid * @param {number} [to] - stop rows index for partial grid * @param {object} [options] - additional options * @param {Function} [options.cloneFn] - replace default clone function with specific one * @returns {Array} - partial tree * @deprecated */ getPartialTree(from: number, to?: number, options?: { cloneFn?: CloneFn; }): Array; /** * Returns part of current grid according to "from" - "to" position * Should not be called for header * * @param {number} from - start rows index for partial grid * @param {number} to - stop rows index for partial grid * @returns {Array>} - partial grid * @deprecated */ getPartialGrid(from: number, to: number): Array>; } export default HeaderTreeService;