import { type InjectionKey, type Ref, type ComputedRef } from 'vue'; import { type MenuItemProps, type MenuProps } from './common'; export interface MenuMember { props: MenuItemProps; hasIconSlot: boolean; } export interface MenuContext { hasIcon: ComputedRef; direction: Readonly>; select: (memer: MenuMember) => void; addMember: (memer: MenuMember) => void; removeMember: (memer: MenuMember) => void; } export declare const menuContextKey: InjectionKey; export declare function useMenu(options: { props: MenuProps; onSelect: (item: MenuMember) => void; }): MenuContext; export declare function useMenuItem(props: MenuItemProps, hasIconSlot: Ref): { select: () => void; hasIcon: ComputedRef; direction: Readonly>; };