import type { WidgetEvent } from './event'

export type BaseWidget = {
  // ID
  id: string
  // 控件名称
  name: string
  // 元素类型
  type: string
  // 是否为可复用控件
  isCopy: boolean
  // 复用来源控件ID
  copyFrom: string
  // 控件属性
  props: Record<string, any>
  // 样式
  style: Record<string, any>[]
  // 事件
  events: WidgetEvent[]
  // 子控件
  children?: BaseWidget[]
  // 隐藏
  hidden?: boolean
  // 锁定
  locked?: boolean
  // 当前部件
  part?: string
  // 当前部件状态
  state?: string
  // 其他
  [key: string]: any
}
