import type { UseStateSetter } from "../types.js";
import type { TreeItemDefaultIds, TreeItemIdSet } from "./types.js";
/**
 * @since 6.0.0 Renamed from `TreeItemSelection` and uses a Set
 * instead of a list to increase performance. Also renamed `onItemSelect` to
 * `toggleTreeItemSelection` and `onMultiItemSelect` to
 * `selectMultipleTreeItems`.
 */
export interface TreeSelection {
    /** @defaultValue `false` */
    multiSelect?: boolean;
    selectedIds: ReadonlySet<string>;
    toggleTreeItemSelection(itemId: string): void;
    selectMultipleTreeItems: UseStateSetter<TreeItemIdSet>;
}
/**
 * @since 6.0.0 Renamed from `useTreeItemSelection` and uses a Set
 * instead of a list to increase performance.
 */
export declare function useTreeSelection(defaultSelectedIds?: TreeItemDefaultIds, multiSelect?: boolean): Required<TreeSelection>;
