import { Component } from "react";
import PropTypes from "prop-types";
import { TableProps } from "antd/lib/table";
import Column from "antd/lib/table/Column";
interface ETProps extends TableProps<object> {
    insertable: boolean;
    removeable: boolean;
    upmoveable: boolean;
    downmoveable: boolean;
    operColumnTitle: any;
    onSaveRowEdit: Function;
    beforeRowDelete: Function;
    afterRowDelete: Function;
    afterUpMoveRow: Function;
    afterDownMoveRow: Function;
}
interface ETState {
    editingKey: string;
    newColumns: any[];
    dataSource: any[];
    columns: any[];
    update: boolean;
    removeable: boolean;
    upmoveable: boolean;
    downmoveable: boolean;
}
export default class TableEdit extends Component<ETProps, ETState> {
    static componentName: string;
    static Column: typeof Column;
    static propTypes: {
        insertable: PropTypes.Requireable<boolean>;
        removeable: PropTypes.Requireable<boolean>;
        upmoveable: PropTypes.Requireable<boolean>;
        downmoveable: PropTypes.Requireable<boolean>;
        onSaveRowEdit: PropTypes.Requireable<(...args: any[]) => any>;
        beforeRowDelete: PropTypes.Requireable<(...args: any[]) => any>;
        afterRowDelete: PropTypes.Requireable<(...args: any[]) => any>;
        afterUpMoveRow: PropTypes.Requireable<(...args: any[]) => any>;
        afterDownMoveRow: PropTypes.Requireable<(...args: any[]) => any>;
    };
    static defaultProps: {
        insertable: boolean;
        removeable: boolean;
        upmoveable: boolean;
        update: boolean;
        downmoveable: boolean;
        operColumnTitle: string;
    };
    constructor(props: any);
    static getDerivedStateFromProps(nextProps: any, prevState: any): any;
    addRow: () => void;
    onSaveRowEdit: (reocrd: any, newData: any) => void;
    delRow: (key: any) => void;
    upMoveRow: (key: any) => void;
    downMoveRow: (key: any) => void;
    caluNewColumns: () => Promise<never[]>;
    componentDidMount(): Promise<void>;
    componentDidUpdate(_: any, preState: any): Promise<void>;
    render(): JSX.Element;
}
export {};
