/// <reference types="react" />
import PropTypes from 'prop-types';
import { CommonList } from '../common/CommonList';
import { LocalStorage } from '../../../data/LocalStorage';
import { Store } from '../../../data/Store';
export declare type ListProps<R> = {
    isBlocked?: boolean;
    noResultsText?: string;
    blockedText?: string;
    store: Store<R>;
} & Partial<ListDefaultProps>;
export declare type ListDefaultProps = {
    isBlocked: boolean;
    noResultsText: string;
    blockedText: string;
};
export declare type ListState<R> = {
    rows: R[];
};
export declare abstract class List<P extends ListProps<R>, S extends ListState<R>, R = any> extends CommonList<P, S> {
    static childContextTypes: {
        listStore: PropTypes.Requireable<object>;
        localStorage: PropTypes.Requireable<LocalStorage>;
    };
    static propTypes: {
        store: PropTypes.Validator<object>;
        isBlocked: PropTypes.Requireable<boolean>;
        emptyListText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        noResultsText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        blockedText: PropTypes.Requireable<string>;
    };
    constructor(props: any, context: any);
    _context: any;
    unmounted: any;
    getChildContext(): any;
    componentDidMount(): void;
    componentWillUnmount(): void;
    onStoreChange(data: any): void;
    highlight(text: any): JSX.Element;
    getDetails(): {
        sortingDirection: import("../../../typings/common").SortDirection;
        highlight: any;
    };
    hasItems(): boolean;
    isEmptyList(): boolean;
    isEmptyListMessageVisible(): boolean;
    renderItems(): any[];
}
