import { TreeViewCancellableEvent, TreeViewItemId } from "../../../models/index.mjs";
export declare class TreeViewFocusPlugin {
  private store;
  constructor(store: any);
  private setFocusedItemId;
  private applyItemFocus;
  buildPublicAPI: () => {
    focusItem: (event: React.SyntheticEvent | null, itemId: TreeViewItemId) => void;
  };
  /**
   * Focus the item with the given id.
   *
   * If the item is the child of a collapsed item, then this method will do nothing.
   * Make sure to expand the ancestors of the item before calling this method if needed.
   * @param {React.SyntheticEvent | null} event The DOM event that triggered the change.
   * @param {TreeViewItemId} itemId The id of the item to focus.
   */
  focusItem: (event: React.SyntheticEvent | null, itemId: TreeViewItemId) => void;
  /**
   * Remove the focus from the currently focused item (both from the internal state and the DOM).
   */
  removeFocusedItem: () => void;
  /**
   * Event handler to fire when the `root` slot of the Tree View is focused.
   * @param {React.MouseEvent} event The DOM event that triggered the change.
   */
  handleRootFocus: (event: React.FocusEvent<HTMLUListElement> & TreeViewCancellableEvent) => void;
  /**
   * Event handler to fire when the `root` slot of the Tree View is blurred.
   * @param {React.MouseEvent} event The DOM event that triggered the change.
   */
  handleRootBlur: (event: React.FocusEvent<HTMLUListElement> & TreeViewCancellableEvent) => void;
}