import { PropType, ExtractPropTypes, InjectionKey, VNodeChild } from 'vue'; import { Key } from 'treemate'; import type { MaybeArray } from '../../_utils'; import { MenuInjection } from './use-menu-child'; import { MenuOption, MenuGroupOption, MenuIgnoredOption, MenuMixedOption, OnUpdateValue, OnUpdateKeys } from './interface'; import { FollowerPlacement } from 'vueuc'; import { DropdownProps } from '../../dropdown'; declare const menuProps: { readonly options: { readonly type: PropType; readonly default: () => never[]; }; readonly collapsed: { readonly type: PropType; readonly default: undefined; }; readonly collapsedWidth: { readonly type: NumberConstructor; readonly default: 48; }; readonly iconSize: { readonly type: NumberConstructor; readonly default: 20; }; readonly collapsedIconSize: { readonly type: NumberConstructor; readonly default: 24; }; readonly rootIndent: NumberConstructor; readonly indent: { readonly type: NumberConstructor; readonly default: 32; }; readonly labelField: { readonly type: StringConstructor; readonly default: "label"; }; readonly keyField: { readonly type: StringConstructor; readonly default: "key"; }; readonly childrenField: { readonly type: StringConstructor; readonly default: "children"; }; readonly defaultExpandAll: BooleanConstructor; readonly defaultExpandedKeys: PropType; readonly expandedKeys: PropType; readonly value: PropType; readonly defaultValue: { readonly type: PropType; readonly default: null; }; readonly mode: { readonly type: PropType<"horizontal" | "vertical">; readonly default: "vertical"; }; readonly disabled: BooleanConstructor; readonly inverted: BooleanConstructor; readonly 'onUpdate:expandedKeys': PropType>; readonly onUpdateExpandedKeys: PropType>; readonly onUpdateValue: PropType>; readonly 'onUpdate:value': PropType>; readonly expandIcon: PropType<(option: MenuOption) => VNodeChild>; readonly renderIcon: PropType<(option: MenuOption) => VNodeChild>; readonly renderLabel: PropType<(option: MenuOption | MenuGroupOption) => VNodeChild>; readonly renderExtra: PropType<(option: MenuOption | MenuGroupOption) => VNodeChild>; /** TODO: deprecate it */ readonly dropdownPlacement: { readonly type: PropType; readonly default: "bottom"; }; readonly dropdownProps: PropType; readonly accordion: BooleanConstructor; readonly items: PropType<(MenuOption | MenuGroupOption)[]>; readonly onOpenNamesChange: PropType>; readonly onSelect: PropType>; readonly onExpandedNamesChange: PropType>; readonly expandedNames: PropType; readonly defaultExpandedNames: PropType; readonly theme: PropType; }>; }>>; readonly themeOverrides: PropType; }>; }>>>; readonly builtinThemeOverrides: PropType; }>; }>>>; }; export declare type MenuSetupProps = ExtractPropTypes; export declare type MenuProps = Partial; export declare const menuInjectionKey: InjectionKey; declare const _default: import("vue").DefineComponent<{ readonly options: { readonly type: PropType; readonly default: () => never[]; }; readonly collapsed: { readonly type: PropType; readonly default: undefined; }; readonly collapsedWidth: { readonly type: NumberConstructor; readonly default: 48; }; readonly iconSize: { readonly type: NumberConstructor; readonly default: 20; }; readonly collapsedIconSize: { readonly type: NumberConstructor; readonly default: 24; }; readonly rootIndent: NumberConstructor; readonly indent: { readonly type: NumberConstructor; readonly default: 32; }; readonly labelField: { readonly type: StringConstructor; readonly default: "label"; }; readonly keyField: { readonly type: StringConstructor; readonly default: "key"; }; readonly childrenField: { readonly type: StringConstructor; readonly default: "children"; }; readonly defaultExpandAll: BooleanConstructor; readonly defaultExpandedKeys: PropType; readonly expandedKeys: PropType; readonly value: PropType; readonly defaultValue: { readonly type: PropType; readonly default: null; }; readonly mode: { readonly type: PropType<"horizontal" | "vertical">; readonly default: "vertical"; }; readonly disabled: BooleanConstructor; readonly inverted: BooleanConstructor; readonly 'onUpdate:expandedKeys': PropType>; readonly onUpdateExpandedKeys: PropType>; readonly onUpdateValue: PropType>; readonly 'onUpdate:value': PropType>; readonly expandIcon: PropType<(option: MenuOption) => VNodeChild>; readonly renderIcon: PropType<(option: MenuOption) => VNodeChild>; readonly renderLabel: PropType<(option: MenuOption | MenuGroupOption) => VNodeChild>; readonly renderExtra: PropType<(option: MenuOption | MenuGroupOption) => VNodeChild>; /** TODO: deprecate it */ readonly dropdownPlacement: { readonly type: PropType; readonly default: "bottom"; }; readonly dropdownProps: PropType; readonly accordion: BooleanConstructor; readonly items: PropType<(MenuOption | MenuGroupOption)[]>; readonly onOpenNamesChange: PropType>; readonly onSelect: PropType>; readonly onExpandedNamesChange: PropType>; readonly expandedNames: PropType; readonly defaultExpandedNames: PropType; readonly theme: PropType; }>; }>>; readonly themeOverrides: PropType; }>; }>>>; readonly builtinThemeOverrides: PropType; }>; }>>>; }, { mergedClsPrefix: import("vue").ComputedRef; controlledExpandedKeys: import("vue").ComputedRef; uncontrolledExpanededKeys: import("vue").Ref; mergedExpandedKeys: import("vue").ComputedRef; uncontrolledValue: import("vue").Ref; mergedValue: import("vue").ComputedRef; activePath: import("vue").ComputedRef; tmNodes: import("vue").ComputedRef[]>; mergedTheme: import("vue").ComputedRef<{ common: { baseColor: string; primaryColor: string; primaryColorHover: string; primaryColorPressed: string; primaryColorSuppl: string; infoColor: string; infoColorHover: string; infoColorPressed: string; infoColorSuppl: string; successColor: string; successColorHover: string; successColorPressed: string; successColorSuppl: string; warningColor: string; warningColorHover: string; warningColorPressed: string; warningColorSuppl: string; errorColor: string; errorColorHover: string; errorColorPressed: string; errorColorSuppl: string; textColorBase: string; textColor1: string; textColor2: string; textColor3: string; textColorDisabled: string; placeholderColor: string; placeholderColorDisabled: string; iconColor: string; iconColorHover: string; iconColorPressed: string; iconColorDisabled: string; opacity1: string; opacity2: string; opacity3: string; opacity4: string; opacity5: string; dividerColor: string; borderColor: string; closeColor: string; closeColorHover: string; closeColorPressed: string; closeColorDisabled: string; clearColor: string; clearColorHover: string; clearColorPressed: string; scrollbarColor: string; scrollbarColorHover: string; scrollbarWidth: string; scrollbarHeight: string; scrollbarBorderRadius: string; progressRailColor: string; railColor: string; popoverColor: string; tableColor: string; cardColor: string; modalColor: string; bodyColor: string; tagColor: string; avatarColor: string; invertedColor: string; inputColor: string; codeColor: string; tabColor: string; actionColor: string; tableHeaderColor: string; hoverColor: string; tableColorHover: string; pressedColor: string; opacityDisabled: string; inputColorDisabled: string; boxShadow1: string; boxShadow2: string; boxShadow3: string; fontFamily: string; fontFamilyMono: string; fontWeight: string; fontWeightStrong: string; cubicBezierEaseInOut: string; cubicBezierEaseOut: string; cubicBezierEaseIn: string; borderRadius: string; borderRadiusSmall: string; fontSize: string; fontSizeTiny: string; fontSizeSmall: string; fontSizeMedium: string; fontSizeLarge: string; fontSizeHuge: string; lineHeight: string; heightTiny: string; heightSmall: string; heightMedium: string; heightLarge: string; heightHuge: string; transformDebounceScale: string; name: "common"; }; self: { itemTextColorInverted: string; itemTextColorHoverInverted: string; itemTextColorChildActiveInverted: string; itemTextColorActiveInverted: string; itemIconColorInverted: string; itemIconColorHoverInverted: string; itemIconColorActiveInverted: string; itemIconColorChildActiveInverted: string; itemIconColorCollapsedInverted: string; arrowColorInverted: string; arrowColorHoverInverted: string; arrowColorChildActiveInverted: string; arrowColorActiveInverted: string; groupTextColorInverted: string; borderRadius: string; color: string; groupTextColor: string; itemColorActive: string; itemColorActiveCollapsed: string; itemTextColor: string; itemTextColorHover: string; itemTextColorChildActive: string; itemTextColorActive: string; itemIconColor: string; itemIconColorHover: string; itemIconColorActive: string; itemIconColorChildActive: string; itemIconColorCollapsed: string; itemHeight: string; arrowColor: string; arrowColorHover: string; arrowColorChildActive: string; arrowColorActive: string; colorInverted: string; itemColorActiveInverted: string; itemColorActiveCollapsedInverted: string; borderColorHorizontal: string; fontSize: string; dividerColor: string; }; peers: { Tooltip: import("../../_mixins").Theme<"Tooltip", { borderRadius: string; boxShadow: string; color: string; textColor: string; padding: string; }, { Popover: import("../../_mixins").Theme<"Popover", { fontSize: string; borderRadius: string; color: string; dividerColor: string; textColor: string; boxShadow: string; space: string; spaceArrow: string; arrowOffset: string; arrowOffsetVertical: string; arrowHeight: string; padding: string; }, any>; }>; }; peerOverrides: { Tooltip?: { peers?: { Popover?: import("../../_mixins/use-theme").ExtractThemeOverrides> | undefined; } | undefined; } | undefined; }; }>; mergedCollapsed: import("vue").ComputedRef; cssVars: import("vue").ComputedRef; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{ readonly options?: unknown; readonly collapsed?: unknown; readonly collapsedWidth?: unknown; readonly iconSize?: unknown; readonly collapsedIconSize?: unknown; readonly rootIndent?: unknown; readonly indent?: unknown; readonly labelField?: unknown; readonly keyField?: unknown; readonly childrenField?: unknown; readonly defaultExpandAll?: unknown; readonly defaultExpandedKeys?: unknown; readonly expandedKeys?: unknown; readonly value?: unknown; readonly defaultValue?: unknown; readonly mode?: unknown; readonly disabled?: unknown; readonly inverted?: unknown; readonly 'onUpdate:expandedKeys'?: unknown; readonly onUpdateExpandedKeys?: unknown; readonly onUpdateValue?: unknown; readonly 'onUpdate:value'?: unknown; readonly expandIcon?: unknown; readonly renderIcon?: unknown; readonly renderLabel?: unknown; readonly renderExtra?: unknown; readonly dropdownPlacement?: unknown; readonly dropdownProps?: unknown; readonly accordion?: unknown; readonly items?: unknown; readonly onOpenNamesChange?: unknown; readonly onSelect?: unknown; readonly onExpandedNamesChange?: unknown; readonly expandedNames?: unknown; readonly defaultExpandedNames?: unknown; readonly theme?: unknown; readonly themeOverrides?: unknown; readonly builtinThemeOverrides?: unknown; } & { mode: "horizontal" | "vertical"; disabled: boolean; keyField: string; iconSize: number; options: MenuMixedOption[]; defaultValue: Key | null; indent: number; labelField: string; inverted: boolean; childrenField: string; accordion: boolean; collapsedWidth: number; collapsedIconSize: number; defaultExpandAll: boolean; dropdownPlacement: FollowerPlacement; } & { value?: Key | null | undefined; onSelect?: MaybeArray | undefined; theme?: import("../../_mixins").Theme<"Menu", { itemTextColorInverted: string; itemTextColorHoverInverted: string; itemTextColorChildActiveInverted: string; itemTextColorActiveInverted: string; itemIconColorInverted: string; itemIconColorHoverInverted: string; itemIconColorActiveInverted: string; itemIconColorChildActiveInverted: string; itemIconColorCollapsedInverted: string; arrowColorInverted: string; arrowColorHoverInverted: string; arrowColorChildActiveInverted: string; arrowColorActiveInverted: string; groupTextColorInverted: string; borderRadius: string; color: string; groupTextColor: string; itemColorActive: string; itemColorActiveCollapsed: string; itemTextColor: string; itemTextColorHover: string; itemTextColorChildActive: string; itemTextColorActive: string; itemIconColor: string; itemIconColorHover: string; itemIconColorActive: string; itemIconColorChildActive: string; itemIconColorCollapsed: string; itemHeight: string; arrowColor: string; arrowColorHover: string; arrowColorChildActive: string; arrowColorActive: string; colorInverted: string; itemColorActiveInverted: string; itemColorActiveCollapsedInverted: string; borderColorHorizontal: string; fontSize: string; dividerColor: string; }, { Tooltip: import("../../_mixins").Theme<"Tooltip", { borderRadius: string; boxShadow: string; color: string; textColor: string; padding: string; }, { Popover: import("../../_mixins").Theme<"Popover", { fontSize: string; borderRadius: string; color: string; dividerColor: string; textColor: string; boxShadow: string; space: string; spaceArrow: string; arrowOffset: string; arrowOffsetVertical: string; arrowHeight: string; padding: string; }, any>; }>; }> | undefined; themeOverrides?: import("../../_mixins/use-theme").ExtractThemeOverrides; }>; }>> | undefined; builtinThemeOverrides?: import("../../_mixins/use-theme").ExtractThemeOverrides; }>; }>> | undefined; items?: (MenuOption | MenuGroupOption)[] | undefined; renderIcon?: ((option: MenuOption) => VNodeChild) | undefined; renderLabel?: ((option: MenuOption | MenuGroupOption) => VNodeChild) | undefined; "onUpdate:value"?: MaybeArray | undefined; onUpdateValue?: MaybeArray | undefined; defaultExpandedNames?: Key[] | undefined; expandedNames?: Key[] | undefined; onExpandedNamesChange?: MaybeArray | undefined; collapsed?: boolean | undefined; expandIcon?: ((option: MenuOption) => VNodeChild) | undefined; rootIndent?: number | undefined; defaultExpandedKeys?: Key[] | undefined; expandedKeys?: Key[] | undefined; "onUpdate:expandedKeys"?: MaybeArray | undefined; onUpdateExpandedKeys?: MaybeArray | undefined; renderExtra?: ((option: MenuOption | MenuGroupOption) => VNodeChild) | undefined; dropdownProps?: DropdownProps | undefined; onOpenNamesChange?: MaybeArray | undefined; }>, { mode: "horizontal" | "vertical"; disabled: boolean; keyField: string; iconSize: number; options: MenuMixedOption[]; defaultValue: Key | null; indent: number; labelField: string; inverted: boolean; childrenField: string; accordion: boolean; collapsed: boolean | undefined; collapsedWidth: number; collapsedIconSize: number; defaultExpandAll: boolean; dropdownPlacement: FollowerPlacement; }>; export default _default;