///
import { Key, GetKey, DataNode, DataEntity, FlattenNode } from './interface';
interface Wrapper {
posEntities: Record;
keyEntities: Record;
}
interface CheckedKeys {
checkedKeys: Key[];
halfCheckedKeys: Key[];
}
export declare function arrDel(list: Key[], value: Key): import("react").ReactText[];
export declare function arrAdd(list: Key[], value: Key): import("react").ReactText[];
/**
* Parse `checkedKeys` to { checkedKeys, halfCheckedKeys } style
*/
export declare function parseCheckedKeys(keys: Key[] | {
checked: Key[];
halfChecked: Key[];
}): CheckedKeys | null;
export declare function getKey(key: Key, pos: string): import("react").ReactText;
export declare function getPosition(level: string | number, index: number): string;
/**
* Traverse all the data by `treeData`.
* Please not use it out of the `rc-tree` since we may refactor this code.
*/
export declare function traverseDataNodes(dataNodes: DataNode[], childrenName: string | undefined, callback: (data: DataEntity) => void, externalGetKey?: GetKey | string): void;
/**
* Convert `treeData` into entity records.
*/
export declare function convertDataToEntities(dataNodes: DataNode[], childrenName?: string, { initWrapper, processEntity, onProcessFinished, }?: {
initWrapper?: (wrapper: Wrapper) => Wrapper;
processEntity?: (entity: DataEntity, wrapper: Wrapper) => void;
onProcessFinished?: (wrapper: Wrapper) => void;
}, externalGetKey?: GetKey | string): Wrapper;
/**
* Flat nest tree data into flatten list. This is used for virtual list render.
* @param treeNodeList Origin data node list
* @param expandedKeys
* need expanded keys, provides `true` means all expanded (used in `rc-tree-select`).
*/
export declare function flattenTreeData(treeNodeList?: DataNode[], expandedKeys?: Key[] | true, childrenName?: string): FlattenNode[];
export {};