import type { VueNode } from '@antdv/pro-utils'; import type { DropdownProps } from 'ant-design-vue'; import type { MouseEventHandler } from 'ant-design-vue/es/_util/EventInterface'; import type { AnchorHTMLAttributes, Ref } from 'vue'; export interface LayoutItemType { href?: string; path?: string; title?: VueNode; overlay?: VueNode; className?: string; dropdownProps?: DropdownProps; onClick?: MouseEventHandler; linkPath?: string; component?: string; } export interface StaticContext { statusCode?: number | undefined; } export interface match> { params: Params; isExact: boolean; path: string; url: string; } export type LinkProps = { to: string; replace?: boolean; innerRef?: Ref; } & AnchorHTMLAttributes; export interface MenuDataItem { children?: MenuDataItem[]; routes?: undefined; hideChildrenInMenu?: boolean; hideInMenu?: boolean; icon?: VueNode; locale?: string | false; name?: string; key?: string; disabled?: boolean; disabledTooltip?: boolean; path?: string; parentKeys?: string[]; flatMenu?: boolean; target?: string; tooltip?: string; pro_layout_parentKeys?: string[]; [key: string]: any; } export type Route = Omit & { children?: Route[]; }; export type WithFalse = T | false; export interface RouterTypes { computedMatch?: match; route?: Route; location: { pathname?: string; }; } export interface MessageDescriptor { id: any; description?: string; defaultMessage?: string; }