import { listToTree } from './list-to-tree';
import { treeToList } from './tree-to-list';
import treeTraverse from './tree-traverse';
export { treeToList, listToTree, treeTraverse };
export declare function findNode<T = any>(tree: any, func: Fn, config?: Partial<TreeHelperConfig>): T | null;
export declare function findNodeAll<T = any>(tree: any, func: Fn, config?: Partial<TreeHelperConfig>): T[];
export declare function findPath<T = any>(tree: any, func: Fn, config?: Partial<TreeHelperConfig>): T | T[] | null;
export declare function findPathAll(tree: any, func: Fn, config?: Partial<TreeHelperConfig>): any[];
export declare function filter<T = any>(tree: T[], func: (n: T) => boolean, config?: Partial<TreeHelperConfig>): T[];
export declare function forEach<T = any>(tree: T[], func: (n: T) => any, config?: Partial<TreeHelperConfig>): void;
/**
 * @description: 提取指定结构的树
*/
export declare function treeMap<T = any>(treeData: T[], opt: {
    children?: string;
    conversion: Fn;
}): T[];
/**
 * @description: 提取指定结构的树
*/
export declare function treeMapEach(data: any, { children, conversion }: {
    children?: string;
    conversion: Fn;
}): any;
/**
 * 获取树节点的后代节点数组
 *
 * @param {*} node 树的节点
 * @param {*} options  {childrenField: children字段名，默认为 'children'}
 * @returns
 */
export declare function descendant(node: any, options?: {
    childrenField?: string;
}, ret?: any[]): any[];
