import * as React from 'react';
/**
 * common dateSource item
 */
export interface DataSourceItemProps {
    label?: string;
    text?: string;
    value?: any;
    disabled?: boolean;
    checked?: boolean;
    style?: React.CSSProperties;
    children?: DataSourceItemProps[];
}
/**
 * 深度优先遍历
 * @param node
 * @param fn
 */
export declare function dfs(node: any, callback: any): any;
/**
 * 查找
 * @param node
 * @param fn
 */
export declare function find(tree: any, callback: any): any;
/**
 * 根据执行条件过滤
 * @param tree
 * @param callback
 * @returns {[]}
 */
export declare function filter(tree: any, callback: any): Node[];
export declare function getSiblings(tree: any, val: any): any;
/**
 * 根据 value 数组，获取
 * @param tree
 * @param values
 */
export declare function getItemsFromDataSource(tree?: DataSourceItemProps[], values?: any[]): any[];
/**
 * 获取第一个叶子节点
 * @param tree
 * @returns {[]|*[]}
 */
export declare function getFirstValue(tree?: any[]): any;
/**
 * 根据 传入的 tree ， 获取选中值列表的对应数据
 * @param data
 * @param value
 */
export declare function getDataByValues(tree?: any[], values?: any[]): any;
/**
 * 根据节点，返回 path
 * @param tree
 * @param value
 */
export declare function getFullPathByValue(tree: DataSourceItemProps[] | DataSourceItemProps, value: any, key?: string): any[];
/**
 * 获取树的深度
 * @param treeData 数据源
 * @param childrenName 子数据的名称
 * @returns 树的深度
 */
export declare function getTreeDepth(treeData: any[], childrenName?: string): number;
export declare function applyFieldNames(fieldNames: any): {
    label: any;
    value: any;
    children: any;
};
export declare function loopDataSource(dataSource: any, fieldNames: any): any[];
