import * as React from "react";
import { Placement } from "../../../utils/placement";
interface LoadDataObject {
    page: number;
    itemsPerPage: number;
    sortBy?: string;
    sortAsc?: boolean;
    filter?: object;
}
interface BulkAction {
    label: string;
    onSelected: (selected: any) => void;
    disabled?: boolean;
}
interface Props {
    loadData: (requestedPayload: LoadDataObject) => Promise<any[]>;
    columns: {
        name: string;
        label: string | React.ReactElement;
        isSortable?: boolean;
        align?: string;
        mods?: string;
    }[];
    mapDataToRow: (item: any, index: number) => {
        id: any;
    };
    defaultPage?: number;
    defaultItemsPerPage?: number;
    totalItems: number;
    hideRowsSelect?: boolean;
    rowsAreSelectable?: boolean;
    bulkActions?: BulkAction[];
    customFilter?: object;
    customSearchFilter?: any;
    includeBasicSearch?: boolean;
    searchPlaceholder?: string;
    paginationPlacement?: Placement;
}
declare const PaginatedTable: React.FunctionComponent<Props> & {
    PaginationPlacement: typeof Placement;
};
export default PaginatedTable;
