import React from 'react';
import { CheckBoxProps } from './components/checkbox-dialog';
import { Mode, Field } from '../../type/entity';
import './index.scss';
export interface CommonTableProps {
    id: string;
    dataSource: any;
    children?: any;
    isPagination: boolean;
    pageSize: number;
    fieldList: Field[];
    style?: object;
    pageInfo: {
        id: string;
        code: string;
        appId: string;
        billType: string;
        [key: string]: string;
    };
    __designMode?: string;
    mode: Mode;
    [key: string]: any;
}
interface CommonVOs {
    key: string;
    oper: string;
    value1: string;
    value2?: string;
}
interface RowSelection {
    onChange?: (ids: any, records: any) => void;
    onSelect?: (selected: any, record: any, records: any) => void;
    onSelectAll?: (selected: any, records: any) => void;
    selectedRowKeys: number[];
}
interface stateProps {
    loading: boolean;
    columns: any[];
    total: number;
    tableData: any[];
    current: number;
    balloonVisible: boolean;
    userColumns: CheckBoxProps[];
    editRowIndex: number;
    commonVOs: CommonVOs[];
    rowSelection: RowSelection;
}
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: () => Promise<void>;
    init: () => Promise<void>;
    onReferOk: () => void;
    onFilter: (commonVOs: CommonVOs[]) => Promise<void>;
    onChange: (currentPage: any) => void;
    addRow: () => void;
    delRow: (index?: number) => void;
    edit: (index?: number) => void;
    onDoubleClick: (record: any, index: any) => void;
    del: (index?: number) => void;
    rowSelectionChange(ids: any, records: any): 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;
    _renderActionColumn: () => JSX.Element;
    render(): React.ReactNode;
}
export default CommonTable;
