import type { DId } from '../../utils/types'; import React from 'react'; export interface DMenuRef { updatePosition: () => void; } export type DMenuMode = 'horizontal' | 'vertical' | 'popup' | 'icon'; export interface DMenuItem { id: ID; title: React.ReactNode; type: 'item' | 'group' | 'sub'; icon?: React.ReactNode; disabled?: boolean; children?: DMenuItem[]; } export interface DMenuProps> extends Omit, 'children'> { dList: T[]; dWidth?: string | number; dActive?: ID | null; dExpands?: ID[]; dMode?: DMenuMode; dExpandOne?: boolean; dExpandTrigger?: 'hover' | 'click'; onActiveChange?: (id: T['id'], item: T) => void; onExpandsChange?: (ids: T['id'][], items: T[]) => void; } declare function Menu>(props: DMenuProps, ref: React.ForwardedRef): JSX.Element | null; export declare const DMenu: >(props: DMenuProps & React.RefAttributes) => ReturnType; export {};