import type { SelectProps } from "antd/es/select";
import type { FC, ReactNode } from "react";

/**
 * 组件属性
 */
export interface BasicSelectProps extends SelectProps {
  /** 数据源 */
  data: Record<string, any>[];
  /** 数据 label 字段，默认 name */
  nameKey?: string;
  /** 数据 value 字段，默认 id */
  idKey?: string;
  /** 占位符 */
  placeholder?: string;
  /** 获取 label */
  onGetLabel?: (label: string | string[]) => void;
  /** 获取选中的项 */
  onGetOption?: (option: Record<string, any> | Record<string, any>[]) => void;
  /** 获取数据 */
  onGetData?: (data: Record<string, any>[]) => void;
  /** 自定义 label 的渲染函数 */
  labelRender?: (item: Record<string, any>) => ReactNode;
}

/**
 * 基础下拉组件
 */
declare const BasicSelect: FC<BasicSelectProps>;

export default BasicSelect;
