import { MenuCategory } from '@/common/app/constants.ts'

export {}
declare global {
  namespace AppTypes {

    interface PageContext {
      insId: string
      title: string
      keepAlive: boolean
      params: Record<string, any>
      routeName: string
      menuId: string
      icon: string
      breadcrumb: string[]
    }

    // 菜单
    interface Menu extends G.TreeNode {
      // Id
      id: string
      sn: string
      // 上级 Id; 层级为 1 的节点值为 0
      pid: string
      // 菜单名称
      title: string
      // 图标
      icon: string
      // 层级; >= 1
      tier: number
      // 排序
      sort: number
      // 路由名称
      routeName: string
      // 面包路径
      breadcrumb: string[]

      menuCategory: MenuCategory

      children?: Menu[]
    }
  }
}
