import type { CLASSES } from './vars'; import type { BaseProps } from '../types'; export {}; export interface MenuRef { updatePosition: () => void; } export type MenuMode = 'horizontal' | 'vertical' | 'popup' | 'icon'; export interface MenuItem { id: ID; title: React.ReactNode; type: 'item' | 'group' | 'sub'; icon?: React.ReactNode; disabled?: boolean; children?: MenuItem[]; } export interface MenuProps> extends BaseProps<'menu' | 'menu-popup', typeof CLASSES>, Omit, 'children'> { ref?: React.Ref; list: T[]; mode?: MenuMode; width?: string | number; active?: ID | null; defaultActive?: ID; expands?: ID[]; defaultExpands?: ID[]; expandOne?: boolean; expandTrigger?: 'hover' | 'click'; escClosable?: boolean; onActiveChange?: (id: ID, origin: T) => void; onExpandsChange?: (ids: ID[], origins: T[]) => void; }