import type { DId } from '../../utils/types'; import React from 'react'; export interface DDropdownRef { updatePosition: () => void; } export interface DDropdownItem { id: ID; label: React.ReactNode; type: 'item' | 'group' | 'sub'; icon?: React.ReactNode; disabled?: boolean; separator?: boolean; children?: DDropdownItem[]; } export interface DDropdownProps> extends Omit, 'children'> { children: React.ReactElement; dList: T[]; dVisible?: boolean; dInitialVisible?: boolean; dPlacement?: 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right'; dTrigger?: 'hover' | 'click'; dArrow?: boolean; dZIndex?: number | string; onVisibleChange?: (visible: boolean) => void; onItemClick?: (id: T['id'], item: T) => void | boolean | Promise; afterVisibleChange?: (visible: boolean) => void; } declare function Dropdown>(props: DDropdownProps, ref: React.ForwardedRef): JSX.Element | null; export declare const DDropdown: >(props: DDropdownProps & React.RefAttributes) => ReturnType; export {};