import React from 'react';
import PropTypes from 'prop-types';
declare type ViewMode = 'VIEW_MODE_DETAILS' | 'VIEW_MODE_FULL';
export declare type CommonListLayoutProps = {
    className?: string;
    testAutomationId?: string;
    list: React.ReactNode;
    viewMode?: ViewMode;
    details?: React.ReactNode;
    head?: React.ReactNode;
    subhead?: React.ReactNode;
    filters?: React.ReactNode;
    filtersColSize?: number;
    actions?: React.ReactNode;
    actionsColSize?: number;
    listActions?: React.ReactNode;
    hasStoreCounterText?: boolean;
    storeCounterText?: string;
    subFooter?: React.ReactNode;
    withoutToolbarGap?: boolean;
    isTransparent?: boolean;
    hasPagination?: boolean;
    listShortViewCol?: number;
    detailsShortViewCol?: number;
    cancelMinHeight?: boolean;
} & Partial<CommonListLayoutDefaultProps>;
export declare type CommonListLayoutDefaultProps = {
    testAutomationId: string;
    viewMode: ViewMode;
    filtersColSize: number;
    actionsColSize: number;
    hasStoreCounterText: boolean;
    storeCounterText: React.ReactNode;
    withoutToolbarGap: boolean;
    isTransparent: boolean;
    hasPagination: boolean;
    listShortViewCol: number;
    detailsShortViewCol: number;
    cancelMinHeight: boolean;
};
export declare abstract class CommonListLayout<P extends CommonListLayoutProps> extends React.Component<P> {
    static propTypes: {
        renderCounterText: PropTypes.Validator<(...args: any[]) => any>;
        renderPagination: PropTypes.Validator<(...args: any[]) => any>;
        className: PropTypes.Requireable<string>;
        testAutomationId: PropTypes.Requireable<string>;
        list: PropTypes.Validator<PropTypes.ReactNodeLike>;
        viewMode: PropTypes.Requireable<string>;
        details: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        head: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        subhead: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        filters: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        filtersColSize: PropTypes.Requireable<number>;
        actions: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        actionsColSize: PropTypes.Requireable<number>;
        listActions: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        subFooter: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        withoutToolbarGap: PropTypes.Requireable<boolean>;
        isTransparent: PropTypes.Requireable<boolean>;
        hasPagination: PropTypes.Requireable<boolean>;
        listShortViewCol: PropTypes.Requireable<number>;
        detailsShortViewCol: PropTypes.Requireable<number>;
        cancelMinHeight: PropTypes.Requireable<boolean>;
        withoutGrid: PropTypes.Requireable<boolean>;
    };
    static defaultProps: {
        className: any;
        testAutomationId: string;
        viewMode: string;
        details: any;
        head: any;
        subhead: any;
        filters: any;
        filtersColSize: number;
        actions: any;
        actionsColSize: number;
        listActions: any;
        subFooter: any;
        withoutToolbarGap: boolean;
        isTransparent: boolean;
        hasPagination: boolean;
        listShortViewCol: number;
        detailsShortViewCol: number;
        cancelMinHeight: boolean;
        withoutGrid: boolean;
    };
    static VIEW_MODE_DETAILS: string;
    static VIEW_MODE_FULL: string;
    renderListActionsToolbar(): JSX.Element;
    renderHeader(): JSX.Element;
    renderFooter(): JSX.Element;
    renderDetails(): P["details"];
    renderBody(): JSX.Element;
    renderPanelBody(): JSX.Element;
    render(): JSX.Element;
}
export {};
