export type VariableType =
  | 'bool'
  | 'char'
  | 'uint8_t'
  | 'uint16_t'
  | 'int16_t'
  | 'uint32_t'
  | 'int32_t'
  | 'enum'

// 变量组
export type VariableGroup = {
  // ID
  id: string
  // 名称
  name: string
  // 变量
  variables: Variable[]
}

// 变量
export type Variable = {
  // ID
  id: string
  // 名称
  name: string
  // 值
  value: any
  // 数据类型
  type: VariableType
}

// 变量绑定
export type VariableBinding = {
  // 变量ID
  varId: string
  // 原始值
  originValue: any
  // 来源类型
  source: 'page' | 'global'
  // 枚举映射
  enumMap?: Record<number | string, string>
}
