import React from 'react';
import PropTypes from 'prop-types';
export declare type CommonListProps = {
    isBlocked?: boolean;
    noResultsText?: string | React.ReactNode;
    blockedText?: string;
    emptyListText?: string;
} & Partial<CommonListDefaultProps>;
export declare type CommonListDefaultProps = {
    isBlocked: boolean;
    noResultsText: string | React.ReactNode;
    blockedText: string;
    emptyListText: string;
};
export declare abstract class CommonList<P, S> extends React.Component<CommonListProps & P, S> {
    static defaultProps: {
        isBlocked: boolean;
        emptyListText: any;
        readonly noResultsText: string;
        readonly blockedText: string;
    };
    static propTypes: {
        isBlocked: PropTypes.Requireable<boolean>;
        emptyListText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        noResultsText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        blockedText: PropTypes.Requireable<string>;
    };
    rowClickHandler(fn: Function): (Event: any) => void;
    renderEmpty(): CommonListDefaultProps['noResultsText'];
    isEmptyListMessageVisible(): any;
    hasItems(): any;
    renderItems(): any;
    isEmptyList(): any;
    renderEmptyListMessage(): CommonListDefaultProps['noResultsText'] | void;
    renderBlockedMessage(): CommonListDefaultProps['blockedText'] | void | any;
    renderItem(item: any, index: number, array: any): any;
    render(): any;
}
