import type { CSSProperties, VNode } from "vue"; export type SuggestionItem = { label: VNode | string; value: string; icon?: VNode; children?: SuggestionItem[]; extra?: VNode | string; }; export interface RenderChildrenProps { onTrigger: (info?: T | false) => void; onKeyDown: (e: KeyboardEvent) => void; } export interface SuggestionProps { prefixCls?: string; className?: string; rootClassName?: string; style?: CSSProperties; children?: (props: RenderChildrenProps) => VNode; open?: boolean; onOpenChange?: (open: boolean) => void; items: SuggestionItem[] | ((info?: T) => SuggestionItem[]); onSelect?: (value: string) => void; block?: boolean; styles?: Partial>; classNames?: Partial>; }