/* AuthState */
export interface AuthState {
  isLoaded: boolean
  permissionCodes: string[]
  roleCodes: string[]
  menuList: Menu.MenuOptions[]
  routeName: string
}

/* AppState */
export interface AppState {
  activeTopMenuPath: string
  isCollapse: boolean
  language: string
}

/* UserState */
export interface UserState {
  token: string | undefined
  expireIn: number
  user: UserInfo
  permissionCodes: string[]
  roleCodes: string[]
}

export type UserInfo = {
  userId?: number
  account: string
  userName: string
  orgId: string
  nickname: string
  userType: string
}

/* tabsMenuProps */
export interface TabsMenuProps {
  icon: string
  title: string
  path: string
  name: string
  close: boolean
  isKeepAlive: boolean
}
