import React from 'react';
import { ActionType } from '../actionables';
export declare type FilteringOptionProps = {
    title: string;
    options: {
        title: string;
        count?: number;
        onClick: () => void;
    }[];
} & React.HTMLAttributes<HTMLDivElement>;
declare type TableRowProps = React.HTMLAttributes<HTMLTableRowElement> & {
    forceDropdown?: boolean;
    actions?: ActionType[];
    linkTo?: string;
};
declare type TablePaginationProps = React.HTMLAttributes<HTMLDivElement> & {
    title: string;
    currentPage: number;
    pageSize: number;
    count: number;
    offset: number;
    limit: number;
    pageCount: number;
    nextPage: () => void;
    prevPage: () => void;
    hasNext: boolean;
    hasPrev: boolean;
};
declare type TableCellProps = React.TdHTMLAttributes<HTMLTableCellElement> & {
    linkTo?: string;
    name?: string;
};
declare type SortingHeadCellProps = {
    onSortClicked: () => void;
    sortDirection?: 'ASC' | 'DESC';
    setSortDirection: (string: any) => void;
} & React.HTMLAttributes<HTMLTableCellElement>;
export declare type TableProps = {
    filteringOptions?: FilteringOptionProps[] | React.ReactNode;
    tableActions?: React.ReactNode;
    enableSearch?: boolean;
    immediateSearchFocus?: boolean;
    searchPlaceholder?: string;
    searchValue?: string;
    containerClassName?: string;
    isLoading?: boolean;
    handleSearch?: (searchTerm: string) => void;
} & React.HTMLAttributes<HTMLTableElement>;
declare type TableElement<T> = React.ForwardRefExoticComponent<T> & React.RefAttributes<unknown>;
declare type TableType = {
    Head: TableElement<React.HTMLAttributes<HTMLTableSectionElement>>;
    HeadRow: TableElement<React.HTMLAttributes<HTMLTableRowElement>>;
    HeadCell: TableElement<React.ThHTMLAttributes<HTMLTableCellElement>>;
    SortingHeadCell: TableElement<SortingHeadCellProps>;
    Body: TableElement<React.HTMLAttributes<HTMLTableSectionElement>>;
    Row: TableElement<TableRowProps>;
    Cell: TableElement<TableCellProps>;
    Pagination: React.ForwardRefExoticComponent<TablePaginationProps> & React.RefAttributes<unknown>;
} & TableElement<TableProps>;
declare const Table: TableType;
export declare const TablePagination: ({ className, title, currentPage, pageCount, pageSize, count, offset, nextPage, prevPage, hasNext, hasPrev, }: TablePaginationProps) => JSX.Element;
export default Table;
