import { ProColumnType } from '@ant-design/pro-table/es/Table';
import { TreeSelectProps } from 'antd/es/tree-select';
import { DefaultValueType } from 'rc-tree-select/es/interface';

export type FormItemTreeSelectProps<T> = {
  item: Parameters<Required<ProColumnType<T>>['renderFormItem']>[0];
  config: Parameters<Required<ProColumnType<T>>['renderFormItem']>[1];
  form: Parameters<Required<ProColumnType<T>>['renderFormItem']>[2];
  /** 树数据 */
  records?: Array<any>;
  /** 在 data 的元素中中赋值给 TreeSelect.TreeNode 的 title 属性的字段，默认 title  */
  titleLabel?: string;
  /** 在 data 的元素中赋值给 TreeSelect.TreeNode 的 value 属性的字段，默认 id */
  valueLabel?: string;
  /** 禁用的节点 */
  disabledIds?: string | Array<string>;
  /** 禁用的节点的所有下级节点 */
  disabledChildren?: true;
  /** 不显示的节点 */
  hiddenIds?: Array<string>;
  /** records 数据是否平面数据 */
  treeDataSimpleMode?: true
  /** 默认值 */
  defaultValue?: DefaultValueType
  
} & Partial<Pick<TreeSelectProps<T>, 'allowClear' | 'showSearch' | 'style' | 'dropdownStyle' | 'treeDefaultExpandAll' | 'placeholder'>>;