import { CascaderOption, CascaderConfig, CascaderFormat, CascaderValue } from './types';
export declare const formatTree: (tree: CascaderOption[], parent: CascaderOption | null, config: CascaderConfig) => CascaderOption[];
export declare const eachTree: (tree: CascaderOption[], cb: (node: CascaderOption) => unknown) => void;
export declare const convertListToOptions: (list: CascaderOption[], options: CascaderFormat) => CascaderOption[];
declare class Tree {
    nodes: CascaderOption[];
    readonly config: CascaderConfig;
    constructor(nodes: CascaderOption[], config?: CascaderConfig);
    updateChildren(nodes: CascaderOption[], parent: CascaderOption | null): void;
    getNodeByValue(value: CascaderOption['value']): CascaderOption | void;
    getPathNodesByValue(value: CascaderValue): CascaderOption[];
    isLeaf: (node: CascaderOption, lazy: boolean) => boolean;
    hasChildren: (node: CascaderOption, lazy: boolean) => boolean;
}
export default Tree;
