import React from "react";
import "./style/index.scss";
/**
 * @description: 级联选择器
 * @param value{ string }: 选中的值
 * @param label: { string }: 选项
 * @param disabled: { Boolean }: 是否禁用
 * @param children: { Array }: 子选项
 * @param loading: { Boolean }: 是否加载中
 * @param isLeaf: { Boolean }: 是否叶子节点
 */
interface Option {
    label: string;
    value: string;
    disabled?: boolean;
    children?: Option[];
    loading?: boolean;
    isLeaf?: boolean;
}
/**
 * @param data{ Array }: 数据源
 * @param value{array}: 选中的值
 * @param onChange{ Function }: 选中的值改变时的回调
 * @param onDropdownVisibleChange{ Function }: 弹出层显示状态改变时的回调
 * @param changeOnSelect{ Boolean }: 是否在选中时发生改变
 * @param expandTrigger{ String }: 展开时触发的方式
 * @param expandIcon{ React.ReactNode }: 展开图标
 * @param loadingIcon{ React.ReactNode }: 加载图标
 * @param expandJoin{ String }: 展开时的连接符
 * @param fieldNames{ Object }: 字段名称
 * @param disabled{ Boolean }: 是否禁用
 * @param placeholder{ String }: 占位符
 * @param loadData{ Function }: 加载数据的方法
 * @param children{ React.ReactNode }: 子节点
 */
interface Props {
    data: Option[];
    expandTrigger?: "click" | "hover";
    value?: string[];
    onChange?: (value: string[], selectedOptions: Option[]) => void;
    onDropdownVisibleChange?: (visible: boolean) => void;
    changeOnSelect?: boolean;
    expandIcon?: React.ReactNode;
    expandJoin?: string;
    fieldNames?: object;
    disabled?: boolean;
    placeholder?: string;
    size?: "small" | "medium" | "large";
    loadData?: (selectedOptions: Option[], setState?: React.Dispatch<React.SetStateAction<Option[]>>) => void;
    loadingIcon?: React.ReactNode;
    children?: React.ReactNode;
    className?: string;
    dropdownClassName?: string;
}
export interface CascaderRefProps {
    clearValue: () => void;
}
export declare const Cascader: React.ForwardRefExoticComponent<Props & React.RefAttributes<unknown>>;
export default Cascader;
