import DynamicForm from './index.vue'
import type {
  DynamicFormItem,
  DynamicFormConfig,
  DynamicFormEvents,
  DynamicFormMethods
} from './types'
import {
  createNumberItem,
  createTextItem,
  createSelectItem,
  createDateItem,
  createSwitchItem,
  createRadioItem,
  createCheckboxItem,
  createSliderItem,
  createCustomItem,
  createDynamicFormConfig,
  validateFormItem,
  validateFormConfig
} from './utils'

// 导出组件
export default DynamicForm

// 导出类型
export type {
  DynamicFormItem,
  DynamicFormConfig,
  DynamicFormEvents,
  DynamicFormMethods
}

// 导出工具函数
export {
  createNumberItem,
  createTextItem,
  createSelectItem,
  createDateItem,
  createSwitchItem,
  createRadioItem,
  createCheckboxItem,
  createSliderItem,
  createCustomItem,
  createDynamicFormConfig,
  validateFormItem,
  validateFormConfig
}
