export type Tree<T = unknown> = (T | {
    label: string;
    forest: Tree<T>;
})[];
export declare function isForest<T>(candidate: Tree<T>[number]): candidate is {
    label: string;
    forest: Tree<T>;
};
export declare function makeTree<K extends string | number, T extends {
    [k in K]?: string[];
}>({ items, pathKey, sort }: {
    items: T[];
    pathKey: K;
    sort?: (a: T, b: T) => number;
}): Tree<T>;
export declare function flattenTree<T>(tree: Tree<T>): T[];
