import React from 'react';
import { CheckBoxProps } from './components/checkbox-dialog';
import { Mode } from '../../type/entity';
import './index.scss';
export interface CommonTableProps {
    id: string;
    dataSource: any;
    children?: any;
    isPagination: boolean;
    pageSize: number;
    fieldList: any[];
    style?: object;
    pageInfo: {
        id: string;
        code: string;
        appId: string;
        billType: string;
        [key: string]: string;
    };
    __designMode?: string;
    mode: Mode;
}
interface stateProps {
    loading: boolean;
    columns: any[];
    total: number;
    tableData: any[];
    current: number;
    balloonVisible: boolean;
    userColumns: CheckBoxProps[];
    editRowIndex: number;
}
declare class CommonTable extends React.Component<CommonTableProps, stateProps> {
    static displayName: string;
    constructor(props: CommonTableProps);
    componentDidUpdate(prevProps: Readonly<CommonTableProps>, prevState: Readonly<stateProps>, snapshot?: any): void;
    componentDidMount(): Promise<void>;
    componentWillUnmount(): void;
    getData: (commonVOs?: any[]) => Promise<void>;
    init: () => Promise<void>;
    onFilter: (commonVOs: any[]) => Promise<void>;
    onChange: (currentPage: any) => void;
    onClickBalloon: () => void;
    addRow: () => void;
    onRowMouseEnter: (record: Object, index: number, e: React.MouseEvent<Element, MouseEvent>) => void;
    onRowMouseLeave: (record: Object, index: number, e: React.MouseEvent<Element, MouseEvent>) => void;
    renderCheckbox_: () => JSX.Element;
    renderColumns(): any;
    _renderActionColumnCell: (value: any, index: any, record: any) => JSX.Element;
    render(): React.ReactNode;
}
export default CommonTable;
