export type MenuNode = {
  key: string
  label: string
  parentKey: string | null
  order: number
  icon: string | null
  canRead: boolean
  canCreate: boolean
  canUpdate: boolean
  canDelete: boolean
  isVisible: boolean
  displayLabel: string | null
  children: MenuNode[]
}

export type MenuItem = {
  key: string
  label: string
  parentKey: string | null
  order: number
  icon: string | null
  isVisible: boolean
  displayLabel: string | null
}

export type Role = {
  id: string
  name: string
  description: string | null
  createdAt: string
}

export type Permission = {
  id: string
  roleId: string
  menuKey: string
  canRead: boolean
  canCreate: boolean
  canUpdate: boolean
  canDelete: boolean
}
