import * as React from 'react';
import Lineded from './Linked';
import { ListModalProps, Column } from "./interface";
/**
 * @private
*/
export declare enum MODE {
    ADD = 0,
    EDIT = 1,
    COMMON = 2
}
/**
 * 列表弹框，弹出一个列表。
 * 1. 可以对列表里面的数据进行增删改查
 * 2. 可以弹出一个单选或多选框，选一条或多条数据后，返回给页面
*/
export default class ListModal<T> extends React.PureComponent<ListModalProps<T>> {
    rowKey: string;
    mode: MODE;
    linked: Lineded;
    state: {
        list: any[];
        current: number;
        total: number;
        columns: any[];
        selectedRowKeys: any[];
        selectedRowObjects: any[];
    };
    sorter: {};
    param: any;
    editObject: any;
    componentWillMount(): void;
    componentDidUpdate(old: any): void;
    doAdd(record: any, save: any): void;
    doEdit(record: any, save: any): void;
    exitEditMode(record: any, save: boolean): void;
    add(): void;
    edit(record: any): void;
    renderColumns(text: any, record: any, column: Column<T>, render: any): any;
    doDel(record: any): void;
    buildEditColumn(): Column<T>[];
    buildOption(): Column<T>[];
    search(pagination: any, filters: any, sorter: any): void;
    queryField: string;
    filter(value: any): void;
    render(): JSX.Element;
}
