import { TreeNode, Key, FieldNames, KeyToTreeNodeMap } from '../interface';
/**
 * 计算当前应该选中的节点
 * @param treeNode 当前节点
 * @param checked 当前节点的选中状态
 * @param checkedKeysSet 选中的节点key集合
 */
export declare function getCheckedKeysSet(treeNode: TreeNode, checked: boolean, checkedKeysSet: Set<Key>): void;
/**
 * 根据传入的checkedKeys计算出所有应该半选和全选的key
 * 传入的checkedKeys不一定就是全部选中的节点，可能只是部分
 * @param checkedKeys
 */
export declare function getNodeKeys(checkedKeys: Set<Key>, keyToTreeNodeMap: KeyToTreeNodeMap): [Set<Key>, Set<Key>];
export declare function getExportCheckedKeys(checkedKeysSet: Set<Key>, keyToTreeNodeMap: KeyToTreeNodeMap): (string | number | undefined)[][];
/**
 *
 * @param treeNode 当前选中的节点
 * @param checked 是否选中
 * @param checkedKeysSet 选中节点key集合
 * @param keyToTreeNodeMap key -> node映射
 * @returns []
 */
export declare function onTreeNodeCheck(treeNode: TreeNode, checked: boolean, checkedKeysSet: Set<Key>, keyToTreeNodeMap: KeyToTreeNodeMap): [Key[], Key[], Set<Key>];
export declare function onTreeNodeSelect(treeNode: TreeNode, selectedKeysSet: Set<Key>, fieldNames: FieldNames, keyToTreeNodeMap: KeyToTreeNodeMap, multiple?: boolean, numberKeysSet?: Set<Key>): [Key[], TreeNode[], TreeNode];
