import type { TreeRoot } from "../types";
import type { RowAggregated, RowLeaf, RowNode, SortFn } from "@1771technologies/lytenyte-shared";
export declare function useFlattened<T>(tree: TreeRoot, expandFn: (id: string, depth: number) => boolean, top: (RowLeaf<T> | RowAggregated)[] | undefined, bot: (RowLeaf<T> | RowAggregated)[] | undefined, idUniverseAdditions: {
    readonly id: string;
    readonly root: boolean;
}[] | null | undefined, idUniverseSubtractions: Set<string> | null | undefined, sort: SortFn<T> | null | undefined): {
    idUniverse: Set<string>;
    rootIds: Set<string>;
    rootCount: number;
    rows: RowNode<T>[];
    indexToRow: Map<number, RowNode<T>>;
    idToIndex: Map<string, number>;
    rowCount: number;
    topCount: number;
    botCount: number;
    maxDepth: number;
};
