import React from 'react';
import { InputProps } from '../../components/Input';
import { Size } from '../../type';
import { CascadeData, Key, LoadData } from './interface';
export interface DefinedCascaderProps {
    /** 数据源 */
    dataSource?: CascadeData[];
    /** 选中的值 */
    value?: Key[];
    /** 默认值，非受控 */
    defaultValue?: Key[];
    /** 选中回调 */
    onChange?: (value: Key[] | void) => void;
    /** 是否禁用 */
    disabled?: boolean;
    /** 尺寸 */
    size?: Size;
    /** 使用搜索 */
    search?: boolean | {
        /** 自定义搜索函数 */
        handleSearch?: (searchValue: string, dataSource: CascadeData[]) => {
            dataSource: CascadeData[];
            count?: number;
        };
    };
    /** 异步加载数据操作 */
    loadData?: LoadData;
    /** 是否可清空 */
    clearable?: boolean;
    /** 状态 */
    status?: InputProps['status'];
    /** @ignore */
    placeholder?: string;
    /** 自定义 popover 的配置 */
    popoverProps?: {
        [key: string]: any;
    };
    /** 分隔符 */
    separator?: string;
    /** 渲染级联顶部的插槽 */
    topExtraRender?: (props: {
        /** 当前级联索引 */
        index: number;
        parents?: CascadeData[];
        items?: CascadeData[];
    }) => React.ReactNode;
}
export declare type CascaderProps = DefinedCascaderProps;
declare const _default: React.MemoExoticComponent<({ dataSource, value: _value, defaultValue, onChange: _onChange, disabled, size, search, clearable, placeholder, loadData, status, popoverProps, separator, topExtraRender }: DefinedCascaderProps) => JSX.Element>;
export default _default;
