import { Component } from "react";
import { ColumnProps } from "antd/lib/table";
import PropTypes from "prop-types";
interface ISelectProps {
    mode: 'multiple' | 'tags';
}
interface ITableProps {
    dataSource: object[];
    rowKey: string;
    display: string;
    columns: ColumnProps<object>[];
}
declare type TSProps = {
    value: string | string[] | number;
    selectProps: ISelectProps;
    tableProps: ITableProps;
    onChange: ((key: string | string[]) => void);
};
declare type TSState = {
    value: string | string[] | number;
    open: boolean;
    update: boolean;
    tableData: object[];
};
export default class TableSelect extends Component<TSProps, TSState> {
    static propTypes: {
        tableProps: PropTypes.Requireable<PropTypes.InferProps<{
            display: PropTypes.Validator<string>;
        }>>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        value: PropTypes.Requireable<string | number | any[]>;
    };
    static defaultProps: {
        update: boolean;
    };
    lock: any;
    select: any;
    origValue: any;
    constructor(props: any);
    static getDerivedStateFromProps(nextProps: any, prevState: any): {
        tableData: any;
        update?: undefined;
        value?: undefined;
    } | {
        update: boolean;
        tableData?: undefined;
        value?: undefined;
    } | {
        value: any;
        tableData?: undefined;
        update?: undefined;
    } | null;
    setRef: (select: any) => void;
    onDropdownVisibleChange: (open: any) => void;
    clickRow: (record: any) => void;
    renderOptions: (data: any) => JSX.Element[];
    deselect: (val: any) => void;
    selectChange: (selectedRowKeys: any) => void;
    searchTable: (value: any) => void;
    render(): JSX.Element;
}
export {};
