import { CheckboxProps } from '../checkbox'; import { InputProps } from '../input'; import { PopupProps } from '../popup'; import { SelectInputProps, SelectInputBlurContext } from '../select-input'; import { TagInputProps } from '../tag-input'; import { TagProps } from '../tag'; import { TreeNodeModel } from '../tree'; import { PopupVisibleChangeContext } from '../popup'; import { TNode, TreeOptionData, SizeEnum, TreeKeysType } from '../common'; export interface TdCascaderProps { autofocus?: boolean; borderless?: boolean; checkProps?: CheckboxProps; checkStrictly?: boolean; clearable?: boolean; collapsedItems?: TNode<{ value: CascaderOption[]; collapsedSelectedItems: CascaderOption[]; count: number; }>; disabled?: boolean; empty?: string | TNode; filter?: (filterWords: string, node: TreeNodeModel) => boolean | Promise; filterable?: boolean; inputProps?: InputProps; keys?: TreeKeysType; label?: string | TNode; lazy?: boolean; load?: (node: TreeNodeModel) => Promise>; loading?: boolean; loadingText?: string | TNode; max?: number; minCollapsedNum?: number; multiple?: boolean; option?: TNode<{ item: CascaderOption; index: number; }>; options?: Array; placeholder?: string; popupProps?: PopupProps; popupVisible?: boolean; readonly?: boolean; reserveKeyword?: boolean; selectInputProps?: SelectInputProps; showAllLevels?: boolean; size?: SizeEnum; status?: 'default' | 'success' | 'warning' | 'error'; suffix?: string | TNode; suffixIcon?: TNode; tagInputProps?: TagInputProps; tagProps?: TagProps; tips?: string | TNode; trigger?: 'click' | 'hover'; value?: CascaderValue; defaultValue?: CascaderValue; valueDisplay?: string | TNode<{ value: CascaderValue; onClose: (index: number) => void; displayValue?: CascaderValue; }>; valueMode?: 'onlyLeaf' | 'parentFirst' | 'all'; valueType?: 'single' | 'full'; onBlur?: (context: { value: CascaderValue; } & SelectInputBlurContext) => void; onChange?: (value: CascaderValue, context: CascaderChangeContext) => void; onFocus?: (context: { value: CascaderValue; e: FocusEvent; }) => void; onPopupVisibleChange?: (visible: boolean, context: PopupVisibleChangeContext) => void; onRemove?: (context: RemoveContext) => void; } export declare type CascaderValue = string | number | T | Array>; export interface CascaderChangeContext { node?: TreeNodeModel; source: CascaderChangeSource; } export declare type CascaderChangeSource = 'invalid-value' | 'check' | 'clear' | 'uncheck'; export interface RemoveContext { value: CascaderValue; node: TreeNodeModel; }