import { Node } from './node';
/**
 * Row and Column hierarchy to handle all contained nodes
 */
export declare class Hierarchy {
    rows: string[];
    width: number;
    height: number;
    maxLevel: number;
    rootNode: Node;
    sampleNodesForAllLevels: Node[];
    sampleNodeForLastLevel: Node | null;
    allNodesWithoutRoot: Node[];
    indexNode: Node[];
    isPlaceholder: boolean;
    constructor();
    getLeaves(): Node[];
    /**
     * Get all or level-related nodes in hierarchy
     * @param level
     */
    getNodes(level?: number): Node[];
    /**
     * Get all or less than level-related nodes in hierarchy
     * @param lessThanLevel
     */
    getNodesLessThanLevel(lessThanLevel: number): Node[];
    /**
     * Add new node
     * @param node
     * @param insetIndex
     */
    pushNode(node: Node, insetIndex?: number): void;
    pushIndexNode(node: Node): void;
    getIndexNodes(): Node[];
}
