import { iconPropType } from 'element-plus/es/utils/vue/icon';

const treeProps = {
  data: {
    type: Array,
    default: () => []
  },
  emptyText: {
    type: String
  },
  renderAfterExpand: {
    type: Boolean,
    default: true
  },
  nodeKey: String,
  checkStrictly: Boolean,
  defaultExpandAll: Boolean,
  expandOnClickNode: {
    type: Boolean,
    default: true
  },
  checkOnClickNode: Boolean,
  checkDescendants: {
    type: Boolean,
    default: false
  },
  autoExpandParent: {
    type: Boolean,
    default: true
  },
  defaultCheckedKeys: Array,
  defaultExpandedKeys: Array,
  currentNodeKey: [String, Number],
  renderContent: Function,
  showCheckbox: {
    type: Boolean,
    default: false
  },
  draggable: {
    type: Boolean,
    default: false
  },
  allowDrag: Function,
  allowDrop: Function,
  props: {
    type: Object,
    default: () => ({
      children: "children",
      label: "label",
      disabled: "disabled"
    })
  },
  lazy: {
    type: Boolean,
    default: false
  },
  highlightCurrent: Boolean,
  load: Function,
  filterNodeMethod: Function,
  accordion: Boolean,
  indent: {
    type: Number,
    default: 18
  },
  icon: {
    type: iconPropType
  }
};
const elTreeEmits = {
  "node-click": (...arg) => !!arg,
  "node-contextmenu": (...arg) => !!arg,
  "check-change": (...arg) => !!arg,
  check: (...arg) => !!arg,
  "current-change": (...arg) => !!arg,
  "node-expand": (...arg) => !!arg,
  "node-collapse": (...arg) => !!arg,
  "node-drag-start": (...arg) => !!arg,
  "node-drag-enter": (...arg) => !!arg,
  "node-drag-leave": (...arg) => !!arg,
  "node-drag-over": (...arg) => !!arg,
  "node-drag-end": (...arg) => !!arg,
  "node-drop": (...arg) => !!arg
};
const treeEmits = {
  ...elTreeEmits
  // 自定义事件
  // submit: (value: any) => !!value,
};

export { elTreeEmits, treeEmits, treeProps };
//# sourceMappingURL=tree.mjs.map
