import { JaqlPanel, JaqlRequest } from '../../data-load/types.js'; import { TreeNode } from '../../tree-structure/types.js'; import { PivotDataNode, PivotTreeNode } from '../types.js'; export declare const insertSubTotals: (items: PivotTreeNode[], originalData: TreeNode | undefined, type: string, jaql: JaqlRequest | undefined, subtotalsForSingleRow: boolean | undefined) => Array; export declare const postProcessSubTotal: (item: PivotTreeNode, jaql?: JaqlRequest) => void; export declare const insertGrandTotals: (items: PivotTreeNode[], originalData: TreeNode | undefined, type: string, jaql?: JaqlRequest) => Array; export declare const postProcessGrandTotal: (item: PivotTreeNode, jaql?: JaqlRequest) => void; export declare const insertMeasureNodes: (items: PivotTreeNode[], originalData: TreeNode | undefined, type: string, jaql?: JaqlRequest) => Array; export declare const postProcessMeasureNode: (item: PivotTreeNode, jaql?: JaqlRequest) => void; export declare const applyColorFormatting: (item: PivotDataNode, rowItem: PivotTreeNode, columnItem: PivotTreeNode, measurePanel?: JaqlPanel) => void; /** * Pre-process initial tree structure * * @param {Array} items - items to normalize * @param {string} type - items types to normalize * @param {JaqlRequest} jaql - jaql request * @param {object} options - additional options * @param {number} [options.level=0] - tree level, for internal use only * @param {object} [options.measurePath={}] - items types to normalize * @returns {Array} - normalized list of items */ export declare const preProcessTree: (items: TreeNode | Array, type: string, jaql: JaqlRequest, options?: { level?: number | undefined; measurePath?: { [key: string]: string; } | undefined; } | undefined) => Array; /** * Post-process final tree structure with formatting event * * @param {PivotTreeNode} items - list of PivotTreeNode items * @param {JaqlRequest} jaql - jaql request * @param {object} [options] - additional options * @param {boolean} [options.skipFormatEvent] - process tree but skip format event trigger * @param {boolean} [options.onlyFormatEvents] - process tree with format event trigger only * @param {Function} [options.iterateFn] - iterate function to call for each tree node * @param {Function} [options.emitFn] - transform event emit function to call for each tree node * @returns {void} */ export declare const postProcessTree: (items: Array, jaql: JaqlRequest, options?: { skipFormatEvent?: boolean | undefined; onlyFormatEvents?: boolean | undefined; iterateFn?: Function | undefined; emitFn?: ((item: PivotTreeNode, panel: JaqlPanel | undefined, jaql: JaqlRequest) => void) | undefined; } | undefined) => void; declare const _default: { insertSubTotals: (items: PivotTreeNode[], originalData: TreeNode | undefined, type: string, jaql: JaqlRequest | undefined, subtotalsForSingleRow: boolean | undefined) => PivotTreeNode[]; postProcessSubTotal: (item: PivotTreeNode, jaql?: JaqlRequest | undefined) => void; insertGrandTotals: (items: PivotTreeNode[], originalData: TreeNode | undefined, type: string, jaql?: JaqlRequest | undefined) => PivotTreeNode[]; postProcessGrandTotal: (item: PivotTreeNode, jaql?: JaqlRequest | undefined) => void; insertMeasureNodes: (items: PivotTreeNode[], originalData: TreeNode | undefined, type: string, jaql?: JaqlRequest | undefined) => PivotTreeNode[]; postProcessMeasureNode: (item: PivotTreeNode, jaql?: JaqlRequest | undefined) => void; applyColorFormatting: (item: PivotDataNode>, rowItem: PivotTreeNode, columnItem: PivotTreeNode, measurePanel?: JaqlPanel | undefined) => void; preProcessTree: (items: TreeNode | TreeNode[], type: string, jaql: JaqlRequest, options?: { level?: number | undefined; measurePath?: { [key: string]: string; } | undefined; } | undefined) => PivotTreeNode[]; modifyTree: (items: PivotTreeNode[], type: string, jaql: JaqlRequest, options?: { originalData?: TreeNode | undefined; applyIndexDivergence?: ((items: PivotTreeNode[]) => void) | undefined; subtotalsForSingleRow?: boolean | undefined; } | undefined) => PivotTreeNode[]; postProcessTree: (items: PivotTreeNode[], jaql: JaqlRequest, options?: { skipFormatEvent?: boolean | undefined; onlyFormatEvents?: boolean | undefined; iterateFn?: Function | undefined; emitFn?: ((item: PivotTreeNode, panel: JaqlPanel | undefined, jaql: JaqlRequest) => void) | undefined; } | undefined) => void; }; export default _default;