import { ComputedRef, InjectionKey, Ref, VNodeChild } from 'vue'; import { MenuExpandIconInfo, MenuInfo, MenuItemType, MenuKey, MenuMode, MenuTheme, SubMenuType } from './interface'; export interface MenuContext { mode: ComputedRef; theme: ComputedRef; inlineCollapsed: ComputedRef; retainingInline: Ref; inlineIndent: ComputedRef; disabled: ComputedRef; triggerSubMenuAction: ComputedRef<'click' | 'hover'>; subMenuOpenDelay: ComputedRef; subMenuCloseDelay: ComputedRef; openKeys: Ref; selectedKeys: Ref; activeKeys: Ref; changeActiveKeys: (keys: MenuKey[]) => void; overflowStart: Ref; onOverflowChange: (start: number) => void; overflowedIndicator: ComputedRef<(() => VNodeChild) | undefined>; forceSubMenuRender: ComputedRef; selectedSubMenuKeys: ComputedRef; subMenuZIndex: number; expandIcon: ComputedRef<((info: MenuExpandIconInfo) => VNodeChild) | undefined>; onOpenChange: (key: MenuKey, open: boolean) => void; onItemClick: (info: MenuInfo) => void; onTitleClick: (item: SubMenuType, domEvent: MouseEvent) => void; } export declare const menuContextKey: InjectionKey; export declare function getItemKey(node: MenuItemType | SubMenuType | null | undefined, index: number): MenuKey;