/// <reference types="react" />
import { IPropertyComponent } from '../ztranslate';
import { IBaseValuePro } from './abase';
import { IOption, IOptionsPro } from '../../../3config/option';
/**
 * 单选按钮的定义
 */
interface ICascaderPro extends IOptionsPro, IBaseValuePro {
    /** 外观样式 - rsuite Cascader.appearance */
    appearance?: string;
    /** 是否为块级元素 */
    block?: boolean;
    /** 组件CSS类前缀 */
    classPrefix?: string;
    /** 是否级联选择 - rsuite Cascader.cascade */
    cascade?: boolean;
    /** 弹出层容器 - rsuite Cascader.container */
    container?: string;
    /** 是否选中 */
    checked?: boolean;
    /** 选择项数据源 - rsuite Cascader.data */
    data?: any;
    /** 默认是否打开 - rsuite Cascader.defaultOpen */
    defaultOpen?: boolean;
    /** 默认选中的值 - rsuite Cascader.defaultValue */
    defaultValue?: any;
    /** 禁用的选项值列表 - rsuite Cascader.disabledItemValues */
    disabledItemValues?: any;
    /** 是否内联显示 - rsuite Cascader.inline */
    inline?: boolean;
    /** 选项标签字段名 - rsuite Cascader.labelKey */
    labelKey?: any;
    /** 列表属性 - rsuite Cascader.listProps */
    listProps?: any;
    /** 下拉菜单最大高度 - rsuite Cascader.maxHeight */
    maxHeight?: number;
    /** 下拉菜单样式类名 - rsuite Cascader.menuClassName */
    menuClassName?: string;
    /** 下拉菜单样式 - rsuite Cascader.menuStyle */
    menuStyle?: string;
    /** 是否防止溢出 - rsuite Cascader.preventOverflow */
    preventOverflow?: boolean;
    /** 是否可搜索 - rsuite Cascader.searchable */
    searchable?: boolean;
    /** 组件尺寸 - rsuite Cascader.size: 'xs' | 'sm' | 'md' | 'lg' */
    size?: string;
    /** 选中的值 - rsuite Cascader.value */
    value?: any;
    /** 选项值字段名 - rsuite Cascader.valueKey */
    valueKey?: string;
    /** 值改变事件 - rsuite Cascader.onChange */
    onChange?: (value: any, event: any) => void;
    /** 清除事件 - rsuite Cascader.onClean */
    onClean?: (value: any, event: any) => void;
    /** 关闭事件 - rsuite Cascader.onClose */
    onClose?: () => void;
    /** 进入动画开始事件 - rsuite Cascader.onEnter */
    onEnter?: () => void;
    /** 进入动画完成事件 - rsuite Cascader.onEntered */
    onEntered?: () => void;
    /** 进入动画中事件 - rsuite Cascader.onEntering */
    onEntering?: () => void;
    /** 退出动画开始事件 - rsuite Cascader.onExit */
    onExit?: () => void;
    /** 退出动画完成事件 - rsuite Cascader.onExited */
    onExited?: () => void;
    /** 退出动画中事件 - rsuite Cascader.onExiting */
    onExiting?: () => void;
    /** 打开事件 - rsuite Cascader.onOpen */
    onOpen?: () => void;
    /** 搜索事件 - rsuite Cascader.onSearch */
    onSearch?: (searchKeyword: string, event: Event) => void;
    /** 选择事件 - rsuite Cascader.onSelect */
    onSelect?: (value: string, item: IOption, event: Event) => void;
    /** 是否打开(受控) - rsuite Cascader.open */
    open?: boolean;
    /** 渲染底部扩展内容 - rsuite Cascader.renderExtraFooter */
    renderExtraFooter?: () => React.ReactNode;
    /** 自定义渲染菜单 - rsuite Cascader.renderMenu */
    renderMenu?: () => React.ReactNode;
    /** 自定义渲染选项 - rsuite Cascader.renderMenuItem */
    renderMenuItem?: (label: React.ReactNode, item: IOption) => React.ReactNode;
    /** 自定义渲染已选值 - rsuite Cascader.renderValue */
    renderValue?: (value: string, item: any, selected: React.ReactNode) => React.ReactNode;
    /** 自定义搜索逻辑 - rsuite Cascader.searchBy */
    searchBy?: (keyword: string, label: React.ReactNode, item: IOption) => boolean;
    /** 自定义排序逻辑 - rsuite Cascader.sort */
    sort?: (isGroup: boolean) => (a: any, b: any) => number;
    /** 自定义触发元素类型 - rsuite Cascader.toggleComponentClass */
    toggleComponentClass?: React.ElementType;
    /** 选择器组件类型 - rsuite Cascader */
    selecttype?: IPropertyComponent;
    /** 子节点字段名 - rsuite Cascader.childrenKey */
    childrenKey?: string;
    /** 是否显示清除按钮 - rsuite Cascader.cleanable */
    cleanable?: boolean;
    /** 是否显示计数 - rsuite Cascader.countable */
    countable?: boolean;
    /** 弹出位置 - rsuite Cascader.placement */
    placement?: string;
    /** 无法选中的选项值列表 - rsuite Cascader.uncheckableItemValues */
    uncheckableItemValues?: any;
    /** 是否支持多选 - rsuite MultiCascader */
    mutilselect?: boolean;
}
export type { ICascaderPro };
