import type { Key } from 'treemate'; import type { ComputedRef, Ref } from 'vue'; import type { FollowerPlacement } from 'vueuc'; import type { MergedTheme } from '../../_mixins/use-theme'; import type { MenuTheme } from '../styles'; import type { OnUpdateValueImpl } from './interface'; import type { MenuSetupProps } from './Menu'; import type { UseMenuChildProps } from './use-menu-child-props'; export interface MenuInjection { props: MenuSetupProps; mergedCollapsedRef: Ref; invertedRef: Ref; isHorizontalRef: Ref; mergedClsPrefixRef: Ref; mergedValueRef: Ref; mergedExpandedKeysRef: Ref; activePathRef: Ref; mergedThemeRef: Ref>; doSelect: OnUpdateValueImpl; toggleExpand: (key: Key) => void; } export interface SubmenuInjection { paddingLeftRef: Ref; mergedDisabledRef: Ref; } export interface MenuOptionGroupInjection { paddingLeftRef: Ref; mergedDisabledRef: Ref; } export interface UseMenuChild { dropdownPlacement: ComputedRef; activeIconSize: ComputedRef; maxIconSize: ComputedRef; paddingLeft: ComputedRef; iconMarginRight: ComputedRef; NMenu: MenuInjection; NSubmenu: SubmenuInjection | null; NMenuOptionGroup: MenuOptionGroupInjection | null; } export declare function useMenuChild(props: UseMenuChildProps): UseMenuChild;