export function DataTableHeader(props: any): React.JSX.Element;
export namespace DataTableHeader {
    namespace propTypes {
        let width: PropTypes.Requireable<string>;
    }
}
export default DataTable;
import React from 'react';
import PropTypes from 'prop-types';
declare class DataTable extends React.Component<any, any, any> {
    constructor(props: any);
    state: {
        selectedRows: Map<any, any>;
    };
    contentRef: React.RefObject<any>;
    contentResizeObserver: ResizeObserver | undefined;
    componentDidMount(): void;
    componentWillUnmount(): void;
    get style(): any;
    UNSAFE_componentWillReceiveProps(nextProps: any): void;
    _updateScrollShadows: () => void;
    createInitialScrollingState(props: any): {
        currentPage: number;
        lastPage: number;
    };
    render(): React.JSX.Element | null;
    wrapWithInfiniteScroll: (table: any) => React.JSX.Element;
    wrapWithHorizontalScroll: (table: any, attachTo: any) => React.JSX.Element;
    renderTable: (rowsToRender: any) => React.JSX.Element;
    renderBody: (rows: any) => React.JSX.Element;
    renderRowWithMaskingClassNames: ({ rowData, rowNum, style, isDragOverlay, }: {
        rowData: any;
        rowNum: any;
        style: any;
        isDragOverlay: any;
    }) => React.JSX.Element;
    renderRow: (rowProps: any) => React.JSX.Element;
    calcLastPage: ({ data, itemsPerPage }: {
        data: any;
        itemsPerPage: any;
    }) => number;
    loadMore: () => void;
    toggleRowDetails: (selectedRow: any) => void;
    renderVirtualizedRow: ({ data, index, style }: {
        data: any;
        index: any;
        style: any;
    }) => React.JSX.Element;
    renderVirtualizedMemoizedRow: React.NamedExoticComponent<{
        data: any;
        index: any;
        style: any;
    }>;
    getVirtualRowHeight: () => any;
    virtualizedTableElementWithRefForward: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
    renderVirtualizedTableElement: ({ children, ...rest }: {
        [x: string]: any;
        children: any;
    }) => React.JSX.Element;
    renderVirtualizedTable: () => React.JSX.Element;
}
declare namespace DataTable {
    export namespace defaultProps {
        export let data: never[];
        export let columns: never[];
        export let selectedRowsIds: never[];
        export let isRowSelected: null;
        export let showHeaderWhenEmpty: boolean;
        export let infiniteScroll: boolean;
        export let itemsPerPage: number;
        let width_1: string;
        export { width_1 as width };
        export let loadMore: null;
        export let hasMore: boolean;
        export let initialLoad: boolean;
        export let loader: React.JSX.Element;
        export let scrollElement: null;
        export let useWindow: boolean;
        export let showLastRowDivider: boolean;
        export let virtualizedLineHeight: number;
        export let skin: string;
        export let horizontalScroll: boolean;
        export let stickyColumns: number;
        export function isRowDisabled(): boolean;
        export let rowVerticalPadding: string;
        export let removeRowDetailsPadding: boolean;
        export let dragAndDrop: null;
    }
    export namespace propTypes_1 {
        export let dataHook: PropTypes.Requireable<string>;
        export let id: PropTypes.Requireable<string>;
        export { validateData as data };
        let columns_1: PropTypes.Validator<(PropTypes.InferProps<{
            title: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike>>>;
            render: PropTypes.Validator<(...args: any[]) => any>;
            sortable: PropTypes.Requireable<boolean>;
            infoTooltipProps: PropTypes.Requireable<PropTypes.InferProps<any>>;
            sortDescending: PropTypes.Requireable<boolean>;
            align: PropTypes.Requireable<string>;
            important: PropTypes.Requireable<boolean>;
            style: PropTypes.Requireable<object>;
            width: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
            stickyActionCell: PropTypes.Requireable<boolean>;
        }> | null | undefined)[]>;
        export { columns_1 as columns };
        let showHeaderWhenEmpty_1: PropTypes.Requireable<boolean>;
        export { showHeaderWhenEmpty_1 as showHeaderWhenEmpty };
        export let rowDataHook: PropTypes.Requireable<NonNullable<string | ((...args: any[]) => any) | null | undefined>>;
        export let rowClass: PropTypes.Requireable<string>;
        export let headerRowClass: PropTypes.Requireable<string>;
        export let headerClass: PropTypes.Requireable<string>;
        export let dynamicRowClass: PropTypes.Requireable<(...args: any[]) => any>;
        let isRowSelected_1: PropTypes.Requireable<(...args: any[]) => any>;
        export { isRowSelected_1 as isRowSelected };
        export let isRowHighlight: PropTypes.Requireable<(...args: any[]) => any>;
        export let onRowClick: PropTypes.Requireable<(...args: any[]) => any>;
        export let onMouseEnterRow: PropTypes.Requireable<(...args: any[]) => any>;
        export let onMouseLeaveRow: PropTypes.Requireable<(...args: any[]) => any>;
        let infiniteScroll_1: PropTypes.Requireable<boolean>;
        export { infiniteScroll_1 as infiniteScroll };
        let itemsPerPage_1: PropTypes.Requireable<number>;
        export { itemsPerPage_1 as itemsPerPage };
        let width_2: PropTypes.Requireable<string>;
        export { width_2 as width };
        let skin_1: PropTypes.Requireable<string>;
        export { skin_1 as skin };
        let loadMore_1: PropTypes.Requireable<(...args: any[]) => any>;
        export { loadMore_1 as loadMore };
        let hasMore_1: PropTypes.Requireable<boolean>;
        export { hasMore_1 as hasMore };
        let loader_1: PropTypes.Requireable<PropTypes.ReactNodeLike>;
        export { loader_1 as loader };
        let useWindow_1: PropTypes.Requireable<boolean>;
        export { useWindow_1 as useWindow };
        let scrollElement_1: PropTypes.Requireable<object>;
        export { scrollElement_1 as scrollElement };
        let initialLoad_1: PropTypes.Requireable<boolean>;
        export { initialLoad_1 as initialLoad };
        let rowVerticalPadding_1: PropTypes.Requireable<string>;
        export { rowVerticalPadding_1 as rowVerticalPadding };
        export let thPadding: PropTypes.Requireable<string>;
        export let thHeight: PropTypes.Requireable<string>;
        export let thFontSize: PropTypes.Requireable<string>;
        export let thBorder: PropTypes.Requireable<string>;
        export let thColor: PropTypes.Requireable<string>;
        export let thOpacity: PropTypes.Requireable<string>;
        export let thBoxShadow: PropTypes.Requireable<string>;
        export let thLetterSpacing: PropTypes.Requireable<string>;
        export let rowDetails: PropTypes.Requireable<(...args: any[]) => any>;
        let removeRowDetailsPadding_1: PropTypes.Requireable<boolean>;
        export { removeRowDetailsPadding_1 as removeRowDetailsPadding };
        export let allowMultiDetailsExpansion: PropTypes.Requireable<boolean>;
        export let hideHeader: PropTypes.Requireable<boolean>;
        export let hideHeaderAccessible: PropTypes.Requireable<boolean>;
        let showLastRowDivider_1: PropTypes.Requireable<boolean>;
        export { showLastRowDivider_1 as showLastRowDivider };
        export let isApplyColumnWidthStyle: PropTypes.Requireable<boolean>;
        export let virtualized: PropTypes.Requireable<boolean>;
        export let virtualizedTableHeight: PropTypes.Requireable<number>;
        let virtualizedLineHeight_1: PropTypes.Requireable<number>;
        export { virtualizedLineHeight_1 as virtualizedLineHeight };
        export let virtualizedListRef: PropTypes.Requireable<any>;
        let selectedRowsIds_1: PropTypes.Requireable<(NonNullable<string | number | null | undefined> | null | undefined)[]>;
        export { selectedRowsIds_1 as selectedRowsIds };
        export let onSortClick: PropTypes.Requireable<(...args: any[]) => any>;
        let isRowDisabled_1: PropTypes.Requireable<(...args: any[]) => any>;
        export { isRowDisabled_1 as isRowDisabled };
        let horizontalScroll_1: PropTypes.Requireable<boolean>;
        export { horizontalScroll_1 as horizontalScroll };
        let stickyColumns_1: PropTypes.Requireable<number>;
        export { stickyColumns_1 as stickyColumns };
        export let leftShadowVisible: PropTypes.Requireable<boolean>;
        export let rightShadowVisible: PropTypes.Requireable<boolean>;
        export let onUpdateScrollShadows: PropTypes.Requireable<(...args: any[]) => any>;
        let dragAndDrop_1: PropTypes.Requireable<object>;
        export { dragAndDrop_1 as dragAndDrop };
        export let onDragEnd: PropTypes.Requireable<(...args: any[]) => any>;
        export let onDragStart: PropTypes.Requireable<(...args: any[]) => any>;
        export let onDragCancel: PropTypes.Requireable<(...args: any[]) => any>;
        export let isDragAndDropDisabled: PropTypes.Requireable<boolean>;
    }
    export { propTypes_1 as propTypes };
    export let displayName: string;
}
declare function validateData(props: any, propName: any): Error | null;
//# sourceMappingURL=DataTable.d.ts.map