export { default as TreeRoot } from './TreeRoot.vue';
export { default as TreeItem } from './TreeItem.vue';

export { useTreeContext, provideTreeContext } from './context';

export type { TreeRootProps } from './TreeRoot.vue';
export type {
  TreeItemProps,
  TreeItemEmits,
  TreeItemSelectEvent,
  TreeItemToggleEvent,
  TreeItemSelectEventDetail,
} from './TreeItem.vue';
export type { TreeContext, TreeSelectionBehavior } from './context';
export type { FlatItem } from './utils';
export { flattenAll, flattenVisible, collectDescendantKeys } from './utils';
