import { ExtractPropTypes, PropType, VNodeChild } from 'vue'; import { CreateNamespace } from '../../../utils/src/create'; export type MenuOption = { label: string | (() => VNodeChild); icon?: () => VNodeChild; key: string | number | symbol; type?: 'item' | 'group'; children?: MenuOption[]; }; export type MenuItem = { label: string | (() => VNodeChild); icon?: () => VNodeChild; active: boolean; selected: boolean; key: string | number | symbol; type: 'item' | 'group'; level: number; raw: MenuOption; parent: MenuItem | null; isLeaf: boolean; expanded?: boolean; children?: MenuItem[]; }; export declare const menuProps: { options: { type: PropType; default: () => never[]; }; defaultExpandedKeys: { type: PropType; default: () => never[]; }; selectedKeys: { type: PropType; default: () => never[]; }; collapsed: { type: BooleanConstructor; }; collapsedWidth: { type: (NumberConstructor | StringConstructor)[]; }; theme: { type: PropType; }; themeOverrides: PropType | undefined; padding: import("csstype").Property.Padding | undefined; borderRadius: import("csstype").Property.BorderRadius | undefined; marginTop: import("csstype").Property.MarginTop | undefined; transitionDuration: import("csstype").Property.TransitionDuration | undefined; transitionTimingFunction: import("csstype").Property.TransitionTimingFunction | undefined; itemHeight: any; }>>; }; export type MenuProps = ExtractPropTypes; export declare const menuEmits: { expanded: () => boolean; collapsed: () => boolean; 'update:selected-keys': (newValue: MenuItem["key"][]) => void; 'item-click': (item: MenuItem) => void; }; export type MenuEmits = typeof menuEmits; declare const _default: import('vue').DefineComponent<{ options: { type: PropType; default: () => never[]; }; defaultExpandedKeys: { type: PropType; default: () => never[]; }; selectedKeys: { type: PropType; default: () => never[]; }; collapsed: { type: BooleanConstructor; }; collapsedWidth: { type: (NumberConstructor | StringConstructor)[]; }; theme: { type: PropType; }; themeOverrides: PropType | undefined; padding: import("csstype").Property.Padding | undefined; borderRadius: import("csstype").Property.BorderRadius | undefined; marginTop: import("csstype").Property.MarginTop | undefined; transitionDuration: import("csstype").Property.TransitionDuration | undefined; transitionTimingFunction: import("csstype").Property.TransitionTimingFunction | undefined; itemHeight: any; }>>; }, { bem: CreateNamespace; styleVars: import('vue').ComputedRef<{ [x: string]: string; }>; menuItems: MenuItem[]; itemClickHandler: (item: MenuItem) => void; selectedKeys: (string | number | symbol)[]; updateSelectedKeys: (newValue: MenuItem["key"][]) => void; wapperWidth: import('vue').ComputedRef; iconSize: import('vue').ComputedRef; iconMargin: import('vue').ComputedRef; menuContainer: import('vue').ShallowRef; transitionendHandler: (e: TransitionEvent) => void; }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { expanded: () => boolean; collapsed: () => boolean; 'update:selected-keys': (newValue: MenuItem["key"][]) => void; 'item-click': (item: MenuItem) => void; }, string, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, Readonly<{ options?: unknown; defaultExpandedKeys?: unknown; selectedKeys?: unknown; collapsed?: unknown; collapsedWidth?: unknown; theme?: unknown; themeOverrides?: unknown; } & { collapsed: boolean; options: MenuOption[]; selectedKeys: (string | number | symbol)[]; defaultExpandedKeys: (string | number | symbol)[]; } & { theme?: import('../../../theme-chalk').ThemeKey | undefined; themeOverrides?: Partial<{ backgroundColor: import("csstype").Property.BackgroundColor | undefined; backgroundColorHover: any; backgroundColorSelected: any; textColor: any; textColorSelected: any; groupTextColor: any; iconSizeSmall: any; iconSizeMedium: any; iconSizeLarge: any; fontSize: import("csstype").Property.FontSize | undefined; padding: import("csstype").Property.Padding | undefined; borderRadius: import("csstype").Property.BorderRadius | undefined; marginTop: import("csstype").Property.MarginTop | undefined; transitionDuration: import("csstype").Property.TransitionDuration | undefined; transitionTimingFunction: import("csstype").Property.TransitionTimingFunction | undefined; itemHeight: any; }> | undefined; collapsedWidth?: string | number | undefined; }> & { "onUpdate:selected-keys"?: ((newValue: (string | number | symbol)[]) => any) | undefined; onCollapsed?: (() => any) | undefined; onExpanded?: (() => any) | undefined; "onItem-click"?: ((item: MenuItem) => any) | undefined; }, { collapsed: boolean; options: MenuOption[]; selectedKeys: (string | number | symbol)[]; defaultExpandedKeys: (string | number | symbol)[]; }>; export default _default;