import { PrimaryTableCol, TableRowState, TableRowValue, TableRowData } from './types'; export declare type TableTreeDataMap = Map; export interface TableRowModel extends TableRowState { setData?: (key: string | number, data: T) => void; } export interface KeysType { rowKey: string; childrenKey: string; } export interface SwapParams { current: T; target: T; currentIndex: number; targetIndex: number; } export declare const TABLE_TREE_ERROR_CODE_NOT_SAME_LEVEL: { code: number; reason: string; }; export declare function getUniqueRowValue(row: TableRowData, colKey: string, rowIndex?: number, level?: number): any; declare class TableTreeStore { treeDataMap: TableTreeDataMap; expandAllRowIndex: 0; constructor(); initialTreeStore(dataSource: T[], columns: PrimaryTableCol[], keys: KeysType): void; getAllUniqueKeys(data: T[], keys: KeysType, arr?: T[]): T[]; getExpandedChildrenKeys(data: T[], keys: KeysType, arr?: (string | number)[]): (string | number)[]; expandTreeNode(rowList: (string | number)[], dataSource: T[], keys: KeysType): T[]; foldTreeNode(rowList: (string | number)[], dataSource: T[], keys: KeysType): T[]; toggleExpandData(p: { rowIndex: number; row: T; }, dataSource: T[], keys: KeysType, type?: 'expand' | 'fold'): T[]; updateExpandRow(changeRow: TableRowState, dataSource: T[], keys: KeysType): T[]; getData(key: TableRowValue): TableRowState; updateData(rowValue: TableRowValue, newRowData: T, dataSource: T[], keys: KeysType): number; remove(key: TableRowValue, dataSource: T[], keys: KeysType): T[]; removeChildren(key: TableRowValue, dataSource: T[], keys: KeysType): T[]; appendTo(rowValue: string | number, newData: T | T[], dataSource: T[], keys: KeysType): T[]; appendToRoot(newData: T | T[], dataSource: T[], keys: KeysType): T[]; insertAfter(rowValue: string | number, newData: T, dataSource: T[], keys: KeysType): T[]; insertBefore(rowValue: string | number, newData: T, dataSource: T[], keys: KeysType): T[]; insert(rowValue: string | number, newData: T, dataSource: T[], keys: KeysType, type: 'before' | 'after'): T[]; swapData(dataSource: T[], params: SwapParams, keys: KeysType): { dataSource: T[]; result: boolean; code?: number; reason?: string; }; expandAll(dataSource: T[], keys: KeysType): T[]; foldAll(dataSource: T[], keys: KeysType): T[]; getTreeNode(dataSource: T[], keys: KeysType): T[]; getTreeExpandedRow(dataSource: T[], keys: KeysType, type?: 'unique' | 'data' | 'all'): any[]; initialTreeDataMap(treeDataMap: TableTreeDataMap, dataSource: T[], column: PrimaryTableCol, keys: KeysType, level?: number, parent?: TableRowState): void; updateDisabledState(dataSource: T[], column: PrimaryTableCol, keys: KeysType): void; validateDataExist(state: TableRowState, rowValue: string | number): boolean; validateDataDoubleExist(state: TableRowState, rowValue: string | number): boolean; } export default TableTreeStore; export declare function updateRowExpandLength(treeDataMap: TableTreeDataMap, row: TableRowData, distance: number, type: 'expand' | 'fold' | 'delete' | 'insert', keys: KeysType): void; export declare function clearRowExpandLength(treeDataMap: TableTreeDataMap, row: T, keys: KeysType): void; export declare function updateChildrenRowState(treeDataMap: TableTreeDataMap, rowState: TableRowState, expanded: boolean, keys: KeysType): void; export declare function updateRowData(data: T[], key: string | number, newData: T, keys: KeysType): void; export declare function updateRowIndex(treeDataMap: TableTreeDataMap, dataSource: T[], extra: { rowKey: string; minRowIndex?: number; maxRowIndex?: number; type?: 'add' | 'remove'; count?: number; }): void; export declare function diffExpandedTreeNode(newExpandedNode?: (number | string)[], oldExpandedNode?: (number | string)[]): { removedList: (string | number)[]; addedList: (string | number)[]; }; export declare type TreeDataMapType = InstanceType['treeDataMap'];