import * as React from 'react'; import { AbstractSelectProps } from '../select'; export type TreeNode = TreeNodeNormal | TreeNodeSimpleMode; export interface TreeNodeNormal { value: string | number; /** * @deprecated Please use `title` instead. */ label?: React.ReactNode; title?: React.ReactNode; key: string; isLeaf?: boolean; disabled?: boolean; disableCheckbox?: boolean; selectable?: boolean; children?: TreeNodeNormal[]; } export interface TreeNodeSimpleMode { /* It is possible to change `id` and `pId` prop keys using TreeDataSimpleMode so those keys can be anything */ [key: string]: string | boolean | React.ReactNode; } export interface TreeDataSimpleMode { id?: string; pId?: string; rootPId?: string; } export interface TreeSelectProps extends AbstractSelectProps { defaultValue?: string | number | Array; dropdownStyle?: React.CSSProperties; filterTreeNode?: (inputValue: string, treeNode: any) => boolean | boolean; getPopupContainer?: (triggerNode: Element) => HTMLElement; labelInValue?: boolean; loadData?: (node: any) => void; maxTagCount?: number; maxTagPlaceholder?: React.ReactNode | ((omittedValues: any[]) => React.ReactNode); multiple?: boolean; onChange?: (value: any, label: any, extra: any) => void; onSearch?: (value: any) => void; onSelect?: (value: any) => void; onTreeExpand?: (keys: Array) => void; onFocus?: React.FocusEventHandler; onBlur?: React.FocusEventHandler; searchPlaceholder?: string; showCheckedStrategy?: 'SHOW_ALL' | 'SHOW_PARENT' | 'SHOW_CHILD'; suffixIcon?: React.ReactNode; treeCheckable?: boolean | React.ReactNode; treeCheckStrictly?: boolean; treeData?: Array; treeDataSimpleMode?: boolean | TreeDataSimpleMode; treeDefaultExpandAll?: boolean; treeDefaultExpandedKeys?: Array; treeExpandedKeys?: Array; treeNodeFilterProp?: string; treeNodeLabelProp?: string; value?: string | number | Array; }