import { BaseSyntheticEvent, ReactNode } from 'react';
import { ThemeUICSSObject } from 'theme-ui';
export declare type TableColumnProps<TDatum> = {
    id: string;
    value: string;
    label: string;
    toolTip?: ReactNode;
    toolTipWidth?: number;
    infoIcon?: boolean;
    width?: number;
    sort?: (selectedSortDirection: string) => void;
    /** component used to render cells in column
     *  for simple display cell use `DefaultCell` */
    cellRenderer?: (item: TDatum, style: ThemeUICSSObject) => JSX.Element;
    /** used to handle column grouping */
    children?: TableColumnProps<TDatum>[];
    classNames?: string;
    style?: object;
};
export interface TableProps<TDatum> {
    columns: TableColumnProps<TDatum>[];
    showExpand?: boolean;
    data?: TDatum[];
    setData?: (data: TDatum[]) => void;
    totalCount?: number;
    loading?: boolean;
    searchText?: string;
    /** property field on object to filter search text by. Ex(['id','name']) */
    searchByFields?: string[];
    onRowClick?: (e: BaseSyntheticEvent, item: any) => void;
    /** should display be table. */
    display?: boolean;
    first?: number;
    skip?: number;
    defaultCellWidth?: number;
    defaultSortBy?: string;
    defaultSortDirection?: string;
    hideCellBorders?: boolean;
}
/**
 * @deprecated Use `NewGDSTable` instead.
 */
export declare const Table: <TDatum>(props: TableProps<TDatum>) => JSX.Element;
