import type { PivotDataFieldDataTypeEnum } from '../types';
import { PivotDataFieldSortOperatorEnum } from '../types';
export declare class NodeTree {
    /**
     * @property {number} index - The id of the node tree.which is the index of summary-manager tuples
     */
    private readonly _index;
    /**
     * @property {number} level - The level of the node tree. the root level is 0.
     */
    private _level;
    /**
     * @property {number} parentIndex - The parent index of the node tree. the root node parent index is -1.
     */
    parentIndex: number;
    paths: string[];
    isLeaf: boolean;
    /**
     * @property {string} name - The name of the node tree.
     */
    name: string;
    fieldId: string;
    collapse: boolean;
    sortedList: string[];
    hasSort: boolean;
    /**
     * - the data type of the node tree.
     */
    type: PivotDataFieldDataTypeEnum;
    private _nodes;
    constructor(index: number, fieldId: string, type: PivotDataFieldDataTypeEnum);
    getCollapse(): boolean;
    setCollapse(collapse: boolean): void;
    getFieldsId(): string;
    iterate(callback: (node: NodeTree) => void): void;
    getIndex(): number;
    hasNode(path: string): boolean;
    setParentIndex(parentIndex: number): void;
    setLevel(level: number): void;
    getLevel(): number;
    setPaths(paths: string[]): void;
    getPaths(): string[];
    setLeaf(): void;
    getIsLeaf(): boolean;
    setName(name: string): void;
    addNode(node: NodeTree, path: string, sortMap: Record<string, number> | undefined, sortType: PivotDataFieldSortOperatorEnum): void;
    sortNode(path: string, sortedMap: Record<string, number>, sortType: PivotDataFieldSortOperatorEnum): void;
    getNode(path: string): NodeTree | undefined;
}
