import { GridFilterState, GridGroupNode, GridRowId, GridRowTreeConfig, GridRowsState, GridTreeNode } from '@mui/x-data-grid';
import { GridTreeDepths, GridRowTreeUpdatedGroupsManager } from '@mui/x-data-grid/internals';
import { RowTreeBuilderGroupingCriterion } from "./models.js";
import { DataGridProProps } from "../../models/dataGridProProps.js";
export declare const getGroupRowIdFromPath: (path: RowTreeBuilderGroupingCriterion[]) => string;
export declare const getNodePathInTree: ({
  id,
  tree
}: {
  id: GridRowId;
  tree: GridRowTreeConfig;
}) => RowTreeBuilderGroupingCriterion[];
export declare const checkGroupChildrenExpansion: (node: GridGroupNode, defaultGroupingExpansionDepth: number, isGroupExpandedByDefault?: DataGridProProps["isGroupExpandedByDefault"]) => boolean;
export declare const updateGroupDefaultExpansion: (node: GridGroupNode, defaultGroupingExpansionDepth: number, isGroupExpandedByDefault?: DataGridProProps["isGroupExpandedByDefault"]) => GridGroupNode;
/**
 * Insert a node in the tree
 */
export declare const insertNodeInTree: (node: GridTreeNode, tree: GridRowTreeConfig, treeDepths: GridTreeDepths, previousTree: GridRowTreeConfig | null) => void;
/**
 * Removes a node from the tree
 */
export declare const removeNodeFromTree: ({
  node,
  tree,
  treeDepths
}: {
  node: GridTreeNode;
  tree: GridRowTreeConfig;
  treeDepths: GridTreeDepths;
}) => void;
/**
 * Updates the `id` and `isAutoGenerated` properties of a group node.
 */
export declare const updateGroupNodeIdAndAutoGenerated: ({
  node,
  updatedNode,
  previousTree,
  tree,
  treeDepths
}: {
  previousTree: GridRowTreeConfig | null;
  node: GridGroupNode;
  updatedNode: Pick<GridGroupNode, "id" | "isAutoGenerated">;
  tree: GridRowTreeConfig;
  treeDepths: GridTreeDepths;
}) => void;
export declare const createUpdatedGroupsManager: () => GridRowTreeUpdatedGroupsManager;
export declare const getVisibleRowsLookup: ({
  tree,
  filteredRowsLookup
}: {
  tree: GridRowsState["tree"];
  filteredRowsLookup: GridFilterState["filteredRowsLookup"];
}) => import("@mui/x-data-grid/hooks/features/filter/gridFilterState").GridVisibleRowsLookupState;