import React, { ReactNode } from 'react'; import { PopperProps } from '../_utils/usePopper'; import { TreeNodeData } from '../tree'; export declare const SelectSizes: ["large", "middle", "small"]; export declare type SelectSize = typeof SelectSizes[number]; export declare const BorderTypes: ["none", "underline", "bordered"]; export declare type BorderType = typeof BorderTypes[number]; export declare const Modes: ["multiple", "single"]; export declare type Mode = typeof Modes[number]; export interface AbstractSelectProps extends PopperProps { prefixCls?: string; className?: string; size?: SelectSize; borderType?: BorderType; notFoundContent?: React.ReactNode | null; showSearch?: boolean; showArrow?: boolean; defaultOpen?: boolean; allowClear?: boolean; disabled?: boolean; style?: React.CSSProperties; placeholder?: string | React.ReactNode; dropdownClassName?: string; dropdownStyle?: React.CSSProperties; getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement; dropdownRender?: (menu: React.ReactElement) => React.ReactElement; id?: string; clearIcon?: React.ReactNode; searchIcon?: React.ReactNode; suffixIcon?: React.ReactNode; maxTagCount?: number; labelInValue?: boolean; maxTagPlaceholder?: React.ReactNode | ((omittedValues: TreeNodeData[]) => React.ReactNode); } export declare type ITreeProps = { treeData?: TreeNodeData[]; treeDefaultExpandAll?: boolean; treeDefaultExpandedKeys?: string[]; treeExpandedKeys?: string[]; treeIcon?: ReactNode | ((props: any) => ReactNode); virtual?: boolean; checkStrictly?: boolean; filterTreeNode?: (treeNode: TreeNodeData, searchValue: string) => boolean; treeNodeFilterProp?: string; treeNodeLabelProp?: string; expandOnClickNode?: boolean; treeCheckStrictly?: boolean; treeExpandOnClickNode?: boolean; showTreeIcon?: boolean; treeLoadData?: () => void; listHeight?: number; }; export declare type TreeSelectValue = string | string[] | number | number[] | undefined; export interface ITreeSelectProps extends AbstractSelectProps, ITreeProps { value?: T; defaultValue?: T; mode?: Mode; autoFocus?: boolean; status?: 'error'; onlyExpandOnClickIcon?: boolean; onChange?: (value: T, treeNode: TreeNodeData) => void; onSelect?: (value: T extends (infer I)[] ? I : T, { checked, node, event }: any) => void; onBlur?: (value?: T) => void; onFocus?: () => void; onSearch?: (value?: string) => void; onClear?: () => void; tagRender?: (props: TagProps) => void; } export interface TagProps { value?: string; label?: React.ReactNode; disabled: boolean; size: SelectSize; onClose: () => void; }