import { Component } from 'react';
import PropTypes from 'prop-types';
export declare class SoftInMemoryTable extends Component<{
    onTableChange?: any;
    search?: any;
    onChange?: any;
    columns?: any;
    field?: any;
    direction?: any;
    executeQueryOptions?: any;
    loading?: any;
    message?: any;
    error?: any;
    selection?: any;
    isSelectable?: any;
    hasActions?: any;
    compressed?: any;
    pagination?: any;
    sorting?: any;
    itemIdToExpandedRowMap?: any;
    itemId?: any;
    rowProps?: any;
    cellProps?: any;
    items?: any;
    allowNeutralSort?: any;
}> {
    static propTypes: {
        columns: PropTypes.Validator<PropTypes.InferProps<{
            sortable: PropTypes.Requireable<boolean | ((...args: any[]) => any)>;
            field: PropTypes.Validator<string>;
            name: PropTypes.Validator<PropTypes.ReactNodeLike>;
            description: PropTypes.Requireable<string>;
            dataType: PropTypes.Requireable<string>;
            width: PropTypes.Requireable<string>;
            align: PropTypes.Requireable<string>;
            truncateText: PropTypes.Requireable<boolean>;
            render: PropTypes.Requireable<(...args: any[]) => any>;
            footer: PropTypes.Requireable<string | PropTypes.ReactElementLike | ((...args: any[]) => any)>;
        }>[]>;
        items: PropTypes.Requireable<any[]>;
        loading: PropTypes.Requireable<boolean>;
        message: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        error: PropTypes.Requireable<string>;
        compressed: PropTypes.Requireable<boolean>;
        pagination: PropTypes.Requireable<boolean | PropTypes.InferProps<{
            pageSizeOptions: PropTypes.Requireable<number[]>;
        }>>;
        sorting: PropTypes.Requireable<boolean | PropTypes.InferProps<{
            sort: PropTypes.Requireable<PropTypes.InferProps<{
                field: PropTypes.Validator<string>;
                direction: PropTypes.Validator<"asc" | "desc">;
            }>>;
        }>>;
        /**
         * Set `allowNeutralSort` to false to force column sorting. Defaults to true.
         */
        allowNeutralSort: PropTypes.Requireable<boolean>;
        selection: PropTypes.Requireable<PropTypes.InferProps<{
            onSelectionChange: PropTypes.Requireable<(...args: any[]) => any>;
            selectable: PropTypes.Requireable<(...args: any[]) => any>;
            selectableMessage: PropTypes.Requireable<(...args: any[]) => any>;
        }>>;
        itemId: PropTypes.Requireable<string | ((...args: any[]) => any)>;
        rowProps: PropTypes.Requireable<object>;
        cellProps: PropTypes.Requireable<object>;
        onTableChange: PropTypes.Requireable<(...args: any[]) => any>;
    };
    static defaultProps: {
        items: any[];
        pagination: boolean;
        sorting: boolean;
        responsive: boolean;
        executeQueryOptions: {};
    };
    static getDerivedStateFromProps(nextProps: any, prevState: any): {
        prevProps: {
            items: any;
        };
        pageIndex: number;
    };
    state: any;
    constructor(props: any);
    onTableChange: ({ page, sort }: any) => void;
    onQueryChange: ({ query, queryText, error }: {
        query: any;
        queryText: any;
        error: any;
    }) => void;
    renderSearchBar(): any;
    resolveSearchSchema(): any;
    getItemSorter(): (a: {}, b: {}) => number;
    getItems(): {
        items: any;
        totalItemCount: any;
    };
    render(): JSX.Element;
}
