import React from 'react';
import { ColumnDef, ColumnFiltersState, SortingState, PaginationState, OnChangeFn, RowSelectionState, VisibilityState } from '@tanstack/react-table';
import { ResponsivenessType } from './types';
import { UITexts } from '../constants/texts';
export interface TwTableProps<TData> {
    columns: ColumnDef<TData, unknown>[];
    data: TData[];
    responsivenessType?: ResponsivenessType;
    serverSide?: boolean;
    pagination?: PaginationState;
    setPagination?: OnChangeFn<PaginationState> | undefined;
    rowCount?: number;
    columnFilters?: ColumnFiltersState;
    setColumnFilters?: OnChangeFn<ColumnFiltersState>;
    rowSelection?: RowSelectionState;
    setRowSelection?: OnChangeFn<RowSelectionState>;
    enableMultiRowSelection?: boolean;
    sorting?: SortingState;
    setSorting?: OnChangeFn<SortingState>;
    texts?: UITexts;
    isLoading?: boolean;
    viewType?: ResponsivenessType;
    columnVisibility?: VisibilityState;
}
export declare const TwTable: <TData extends object>({ columns, data, responsivenessType, serverSide, pagination, setPagination, rowCount, columnFilters, setColumnFilters, rowSelection, setRowSelection, enableMultiRowSelection, sorting, setSorting, texts, isLoading, viewType, columnVisibility, }: TwTableProps<TData>) => React.JSX.Element;
