declare type ExpandKeys = (string | number)[];
interface Conf {
    advanced?: boolean;
}
export declare const getFilterTree: <T, K extends Function>(treeNodes: T[] | undefined, filterFunc: (data: T) => boolean, filterExpandKeys: ExpandKeys | undefined, keyFunc: K, childrenKey: keyof T | undefined, showHitDescendants: boolean, firstMatchNode?: ((node: T) => void) | undefined, { advanced }?: Conf) => (T | null)[];
export declare const getFlattenTree: <T>(data: T[], childrenKey?: keyof T, wide?: boolean | undefined) => T[][];
declare type FilterDatum<T> = {
    data: T[];
    childrenKey: string;
    getKey: (node: T) => string;
    getDataById: (id: string) => T;
};
export declare const mergeFilteredTree: (filterDatum: FilterDatum<any>, rawDatum: FilterDatum<any>, tiledId: string[]) => any[];
export {};
