/// <reference types="react" />
import { PropTypes as NsTableProps, ColumnItemProps } from '../table';
import { BasePropTypes } from '../button/interface';
import { NsFilterProps } from './filter-item';
import { NsNoticeProps } from './notice-section';
import { NsSortProps } from './sort';
import { ButtonProps } from 'antd/lib/button';
export interface NsTooltipProps {
    text: React.ReactNode;
    title: React.ReactNode;
}
export interface PropTypes {
    /** 警告、提示 属性 */
    alertProps?: NsNoticeProps;
    /** 过滤条件 */
    filterProps?: NsFilterProps[];
    /** 表格数据请求，返回数据结构为 { dataSource: object[], pagination: { total: number } } */
    dataRequest: string | Request | {
        url?: string;
        method?: string;
        params?: any;
    };
    massages?: boolean;
    dataFormatter?: (data: any, params?: any) => any;
    /** 操作按钮 */
    buttonList?: (ButtonProps & BasePropTypes & {
        isBatch?: boolean;
        dialogProps?: any;
        request?: any;
    })[];
    /** 表格相关的属性 */
    tableProps?: NsTableProps;
    /** 排序属性 */
    sortProps?: Omit<NsSortProps, 'onRefresh' | 'primaryKey'>;
    /** 提示信息 */
    tooltip?: NsTooltipProps;
    /** 事件透出 */
    onEmit?: (eventType: string, ...args: any[]) => any;
    className?: string;
    onSearchChange?(search: any): void;
    onRequestSuccess?(data: any): void;
    synchValues?: any;
    filterClassName?: string;
    removeResetButton?: boolean;
    getList?: any;
}
export type { ColumnItemProps };
