import type { FC } from "react";
import type { BasicCascaderProps } from "../Basic";

export interface DictionaryCascaderItem {
  dictValue: string;
  dictLabel: string;
  children: DictionaryCascaderItem[];
  [key: string]: any;
}

/**
 * 组件属性
 */
export interface DictionaryCascaderProps extends Omit<BasicCascaderProps, "options" | "nameKey" | "idKey" | "childrenKey" | "onGetNodePaths" | "onGetData"> {
  /** appKey，默认 DICTIONARY_APP_KEY_ENUM.DEFAULT（0bb989ecada5470c87635018ece9f327） */
  appKey?: string;
  /** 要获取的字典 */
  dictValue: string;
  /** 树形数据 label 字段，默认 dictLabel */
  nameKey?: string;
  /** 树形数据 value 字段，默认 dictValue */
  idKey?: string;
  /** 获取父级节点 */
  onGetNodePaths?: (nodes: DictionaryCascaderItem[]) => void;
  /** 获取数据 */
  onGetData?: (data: DictionaryCascaderItem[], processedData: DictionaryCascaderItem[]) => void;
}

/**
 * 数据字典级联组件
 */
declare const DictionaryCascader: FC<DictionaryCascaderProps>;

export default DictionaryCascader;
