import type { TableNode, TableRecord } from '../types';
/**
 * Manages data hierarchy within the table, including converting between a flat list of
 * data and hierarchical data.
 */
export declare class DataHierarchyManager<TData extends TableRecord> {
    private readonly isDataFlat;
    private readonly _hierarchicalData;
    private readonly _parentIdConfigurationValid;
    constructor(records: readonly TData[], idFieldName: string | undefined, parentIdFieldName: string | undefined);
    get hierarchicalData(): TableNode<TData>[];
    get parentIdConfigurationValid(): boolean;
    getAllRecords(sort?: boolean): TData[];
    private getAllNodes;
}
