import { type Activate } from '@/api/activate/interface' export type LayoutType = 'vertical' | 'classic' | 'transverse' | 'columns' export type AssemblySizeType = 'large' | 'default' | 'small' export type LanguageType = 'zh' | 'en' | null /* GlobalState */ export interface GlobalState { layout: LayoutType assemblySize: AssemblySizeType language: LanguageType maximize: boolean primary: string isDark: boolean isGrey: boolean isWeak: boolean asideInverted: boolean headerInverted: boolean isCollapse: boolean accordion: boolean breadcrumb: boolean breadcrumbIcon: boolean tabs: boolean tabsIcon: boolean footer: boolean } /* UserState */ export interface UserState { accessToken: string refreshToken: string isRefreshToken: boolean exp: number userInfo: { id: string; name: string; loginName: string } } /* tabsMenuProps */ export interface TabsMenuProps { icon: string title: string path: string name: string close: boolean isKeepAlive: boolean unshift?: boolean } /* TabsState */ export interface TabsState { tabsMenuList: TabsMenuProps[] } /* AuthState */ export interface AuthState { routeName: string authButtonList: { [key: string]: string[] } authMenuList: Menu.MenuOptions[] showMenuFlag: boolean activateInfo: Activate.ActivationCodePlaintext } /* KeepAliveState */ export interface KeepAliveState { keepAliveName: string[] }