import type { DCloneHTMLElement, DId, DSize } from '../../utils/types'; import type { DFormControl } from '../form'; import type { DTreeItem } from '../tree'; import React from 'react'; export interface DTreeSelectRef { updatePosition: () => void; } export interface DTreeSelectProps> extends React.HTMLAttributes { dRef?: { input?: React.ForwardedRef; }; dFormControl?: DFormControl; dList: T[]; dModel?: V | null | V[]; dExpands?: V[]; dVisible?: boolean; dInitialVisible?: boolean; dPlaceholder?: string; dSize?: DSize; dLoading?: boolean; dSearchable?: boolean; dSearchValue?: string; dClearable?: boolean; dShowLine?: boolean; dDisabled?: boolean; dMultiple?: boolean; dOnlyLeafSelectable?: boolean; dVirtual?: boolean; dCustomItem?: (item: T) => React.ReactNode; dCustomSelected?: (select: T) => string; dCustomSearch?: { filter?: (value: string, item: T) => boolean; sort?: (a: T, b: T) => number; }; dPopupClassName?: string; dInputRender?: DCloneHTMLElement>; onModelChange?: (value: any, item: any) => void; onVisibleChange?: (visible: boolean) => void; onSearchValueChange?: (value: string) => void; onClear?: () => void; onFirstExpand?: (value: T['value'], item: T) => void; onExpandsChange?: (ids: T['value'][], items: (T | undefined)[]) => void; afterVisibleChange?: (visible: boolean) => void; } declare function TreeSelect>(props: DTreeSelectProps, ref: React.ForwardedRef): JSX.Element | null; export declare const DTreeSelect: >(props: DTreeSelectProps & React.RefAttributes) => ReturnType; export {};