import { App } from 'vue'; import { FormatMessage, MenuDataItem, MenuMode } from "./typings"; import { MenuTheme, PureSettings } from "../settings"; import { VueNode, WithFalse } from "../typings"; import { ComponentPropsOptions } from '@vue/runtime-core'; export * from "./typings"; /** * 菜单的数据的 render 方法 */ export declare type MenuDataRender = (menuData: MenuDataItem[], props: AppMenuProps) => MenuDataItem[]; /** * 菜单名称渲染 */ export declare type MenuTitleRender = (menu: MenuDataItem, defaultDom: VueNode, props: AppMenuProps) => VueNode; /** * 菜单的 render 方法 */ export declare type MenuRender = (menu: MenuDataItem, props: AppMenuProps) => VueNode; /** * 菜单项的 render 方法 */ export declare type MenuItemRender = (menu: MenuDataItem, defaultDom: VueNode, props: AppMenuProps) => VueNode; /** * 拥有子菜单菜单项的 render 方法 */ export declare type SubMenuItemRender = (menu: MenuDataItem, defaultDom: VueNode, props: AppMenuProps) => VueNode; export interface AppMenuProps extends PureSettings { /** * 菜单模式 * @see https://www.antdv.com/components/menu-cn/#API */ mode?: MenuMode; /** * 菜单主题颜色 */ theme?: MenuTheme; /** * inline 模式菜单是否收起状态菜 */ collapsed?: boolean; /** * inline 模式的菜单缩进宽度 */ indent?: number; /** * 当前展开的 SubMenu 菜单项 key 数组 */ openKeys?: string[]; /** * 当前选中的菜单项 key 数组 */ selectedKeys?: string[]; /** * 国际化 */ i18n?: FormatMessage; /** * 是否移动端 */ isMobile?: boolean; /** * 菜单数据 */ menus?: MenuDataItem[]; /** * 菜单面板收起/折叠回调事件 * @param collapsed */ collapse?: (collapsed: boolean) => void; /** * SubMenu 展开/关闭的回调 * @param openKeys */ /** * 菜单名称渲染 * @param name * @param i18n */ menuTitleRender?: MenuTitleRender; /** * 菜单的 render 方法 * @param menu * @param i18n */ menuRender?: WithFalse; /** * 菜单项的 render 方法 * @param menu * @param i18n */ menuItemRender?: WithFalse; /** * 拥有子菜单菜单项的 render 方法 * @param menu * @param i18n */ subMenuItemRender?: WithFalse; /** * 菜单原生属性 * @see https://2x.antdv.com/components/menu-cn/#Menu */ menuProps?: Record; } export declare const EVENT_UPDATE_OPEN_KEYS = "openKeysChange"; export declare const EVENT_UPDATE_SELECTED_KEYS = "selectedKeysChange"; export declare const DefaultAppMenuProps: ComponentPropsOptions; declare const _default: ({ new (...args: any[]): any; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & import("vue").ComponentOptionsBase, any, any, any, any, any, any, any, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & ((app: App, ...options: any[]) => any) & { install?: ((app: App, ...options: any[]) => any) | undefined; }) | ({ new (...args: any[]): any; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & import("vue").ComponentOptionsBase, any, any, any, any, any, any, any, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & { install: (app: App, ...options: any[]) => any; }); export default _default;