import React from 'react';
import { MaterialTableProps, Options, Action, Column, Query, QueryResult } from 'material-table';
import { Insertable, Deletable, Sortable } from './actions';
import { TitleProps } from './title';
interface TableProps<T extends Object> extends Omit<MaterialTableProps<T>, 'data'> {
    /**
     * 如果要使用静态数据，则传递data
     */
    data?: Array<T>;
    /**
     * 如果要使用远程动态数据，传递一个Promise函数
     */
    fetchData?: (query: Query<T>) => Promise<QueryResult<T>>;
    /**
     * 是否可以允许新增和插入
     */
    insertable?: Insertable<T>;
    /**
     * 是否允许上下移动
     */
    sortable?: Sortable<T>;
    /**
     * 是否允许删除
     */
    deletable?: Deletable<T>;
    /**
     * 暴露给外部的Ref
     */
    externalRef?: React.Ref<any>;
    /**
     * MaterialTable options
     */
    options?: Options<T>;
    /**
     * MaterialTable Column
     */
    columns: Array<Column<T>>;
    /**
     * 最低高度
     */
    minHeight?: number;
    /**
     * 额外操作 MaterialTable Action
     */
    actions?: (Action<T> | ((rowData: T) => Action<T>))[];
    /**
     * 是否只读，隐藏一切操作
     */
    readonly?: boolean;
}
export declare type WxTableProps<T extends Object> = TableProps<T> & TitleProps;
export declare const defaultWxTableOptions: Options<any>;
declare const WxTable: <RowData extends object>({ options, title, minHeight, fetchData, data, insertable, deletable, actions, readonly, sortable, columns, additionalFilter, dateFilter, dateRangeFilter, externalRef, ...restProps }: WxTableProps<RowData>) => JSX.Element;
export default WxTable;
