import { IPublicCascaderItem, ICascaderItem, CascaderValue } from './types'; export declare function clone(from: IPublicCascaderItem[], cloneNode: (node: IPublicCascaderItem, parent: T) => T): T[]; export declare function insertPath(trees: T[], path: IPublicCascaderItem[], createNode: (node: IPublicCascaderItem, parent: T | null) => T): T[]; export declare class Forest { private trees; constructor(from: IPublicCascaderItem[]); private build; reducePath(callback: (accumulator: T, path: ICascaderItem[], terminate: () => void) => T, initialValue: T): T; reduceNode(callback: (accumulator: T, node: ICascaderItem, terminate: () => void) => T, initialValue: T): T; reduceNodeDfs(callback: (accumulator: T, node: ICascaderItem, terminate: () => void) => T, initialValue: T): T; sort(paths: Array): Array; clone(): Forest; insertPath(path: IPublicCascaderItem[]): this; getTrees(): ICascaderItem[]; getPathByValue(values: CascaderValue[]): ICascaderItem[]; getPaths(startNode: ICascaderItem, predicate?: (path: ICascaderItem[]) => boolean): any[]; }