import React, { ReactNode } from "react";
import { RadioChangeEvent } from "antd";
import { RadioButtonType } from "../../table";
import './index.css';
export interface IToolbarComponentProps {
    tableTitle?: string;
    /** 默认的过滤条件 用于判断是否显示列上面的过滤项 */
    tableDefaultFilter: {
        Key: string;
        Val: string;
        Operator?: string;
    }[];
    /** 多表的列表 分屏 平铺模式 */
    radioButton: RadioButtonType;
    /** 多表的列表 分屏 平铺模式的切换 */
    onChangeRadioButton?: (e: RadioChangeEvent) => void;
    /** 表格表头的过滤方法回调 */
    onSearch: (filters: any[]) => void;
    /** 左侧过滤按钮 内的数字 关闭的事件 会清空过滤条件 */
    onCloseFilterVal: () => void;
    /** 右侧 设置面板内的事件 */
    settingTable?: () => void;
    /** 自定义的 Toolbar 展示的内容 */
    renderSelfToolbar: () => ReactNode;
    /** 是否展示配置列 */
    noSettingIcon?: boolean;
    /** 列的重置事件 会清空过滤条件 */
    clearTableFilter: () => void;
    /** 所有的列 用于自定义列上面的筛选按钮用 */
    columns: any[];
    /** 列的内容过滤的请求事件 */
    requestCellFilter: (page: any, filters: any[], sorter: any, col: any, noFilters: any) => Promise<object> | undefined;
    /** requestCellFilter 需要 noFilters的相关过滤参数 */
    tableDefaultField: any;
    /** 点击 Toolbar 右侧的 Reload 图标的事件 */
    onReloadOutlineClick: () => void;
    /** 是否展示刷新图标 */
    noReloadIcon?: boolean;
}
interface IToolbarComponentState {
    filteredInfo: object | null;
    hasValTableFilter: any[];
    tableCellFields: object;
}
export default class ToolbarComponent extends React.Component<IToolbarComponentProps, IToolbarComponentState> {
    static contextType: React.Context<import("../../table").ITableContext>;
    constructor(props: any);
    /**
     * 给表格追加下拉面板
     * @param arr
     */
    addFilterDropComponent: (arr: any) => void;
    /**
     * 监听组件变化
     * @param nextProps
     * @param nextContext
     */
    componentWillReceiveProps(nextProps: Readonly<IToolbarComponentProps>, nextContext: any): void;
    /**
     * 组件卸载
     */
    componentWillUnmount(): void;
    /**
     * 筛选统一处理事件
     */
    handleForm: () => void;
    /**
     * 更新表格表头的按钮的样式
     */
    updateFilterIconSelectedStatus: () => void;
    /**
     *  清除筛选项事件
     */
    handleClearAll: () => void;
    /**
     * 清空过滤条件的事件
     */
    onClearFilterVal: () => void;
    /**
     * 移除列的过滤 点击删除某个筛选条件时
     * @param removeItem
     */
    removeFilterVal: (removeItem: any) => void;
    /**
     * 展示过滤图标
     */
    filterIcon: () => React.JSX.Element;
    /**
     * 获取排序标题
     * @param arr
     * @param key
     */
    getSortTitle(arr: any, key: any): any;
    /**
     * 获取排序值
     * @param key
     */
    getSortVal(key: any): "升序" | "降序";
    render(): React.JSX.Element;
}
export {};
