interface ITree {
    [key: PropertyKey]: unknown;
}
type Fn<T> = (item: T, index: number, list: T[], level: number, parent: T | null) => T;
interface IOptions<Key = string> {
    childKey?: Key;
    filterNull?: boolean;
    filterEmpty?: boolean;
    startLeaf?: boolean;
}
export declare function treeEach<T extends ITree, K extends keyof T>(xs: T[], fn: Fn<T>, options?: IOptions<K>): T[];
export {};
