import { SortingState } from '@tanstack/react-table';
import { EntityHeader, SortBy, Direction } from '@sage-bionetworks/synapse-types';
export type TreeNode = {
    entityHeader: EntityHeader;
    parentId?: string;
    depth: number;
    isLeaf: boolean;
    children?: TreeNode[];
};
/**
 * Hook that manages all tree state and data initialization.
 */
export declare const useEntityTreeState: (rootId: string, expandRootByDefault: boolean, showRootNode: boolean) => {
    expanded: Record<string, boolean>;
    setExpanded: import("react").Dispatch<import("react").SetStateAction<Record<string, boolean>>>;
    tree: Record<string, TreeNode>;
    setTree: import("react").Dispatch<import("react").SetStateAction<Record<string, TreeNode>>>;
    loadingIds: Set<string>;
    setLoadingIds: import("react").Dispatch<import("react").SetStateAction<Set<string>>>;
    loadedChildren: Set<string>;
    setLoadedChildren: import("react").Dispatch<import("react").SetStateAction<Set<string>>>;
    nextPageTokens: Record<string, string | undefined>;
    setNextPageTokens: import("react").Dispatch<import("react").SetStateAction<Record<string, string | undefined>>>;
    loadingPageTokens: Record<string, string | undefined>;
    setLoadingPageTokens: import("react").Dispatch<import("react").SetStateAction<Record<string, string | undefined>>>;
    sorting: SortingState;
    setSorting: import("react").Dispatch<import("react").SetStateAction<SortingState>>;
    sortBy: SortBy | undefined;
    sortDirection: Direction | undefined;
    rootHeader: EntityHeader | undefined;
    rootChildren: import("@sage-bionetworks/synapse-types").EntityChildrenResponse | undefined;
    resetTreeData: () => void;
};
//# sourceMappingURL=useEntityTreeState.d.ts.map