import { ColumnDef, ColumnFiltersState, OnChangeFn, PaginationState, SortingState, Row, Table as TanstackTable } from '@tanstack/react-table';
import { default as React } from 'react';
import { TableRootProps } from '../table';
import { DataTableColumnHeader } from './column-header';
import { DataTableContext } from './context';
import { DataTableFacetedFilter } from './faceted-filter';
import { advancedFilterFn } from './filter-utils';
import { DataTablePagination } from './pagination';
import { DataTableToolbar } from './toolbar';
import { SearchViewProps } from '../search-view';
export { DataTableColumnHeader, DataTablePagination, DataTableToolbar, DataTableFacetedFilter, advancedFilterFn, advancedFilterFn as numericFilterFn, DataTableContext, };
interface DataTableProps<TData> extends Omit<TableRootProps<TData>, "table"> {
    data: TData[];
    columns: ColumnDef<TData>[];
    variant?: "primary" | "secondary";
    pageCount?: number;
    pagination?: PaginationState;
    onPaginationChange?: OnChangeFn<PaginationState>;
    sorting?: SortingState;
    onSortingChange?: OnChangeFn<SortingState>;
    columnFilters?: ColumnFiltersState;
    onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>;
    globalFilter?: string;
    onGlobalFilterChange?: OnChangeFn<string>;
    isLoading?: boolean;
    toolbarChildren?: React.ReactNode;
    renderContextMenu?: (row: Row<TData>) => React.ReactNode;
    renderExpandedRow?: (row: Row<TData>) => React.ReactNode;
    bulkActions?: (table: TanstackTable<TData>) => React.ReactNode;
    searchViewProps?: Partial<Omit<SearchViewProps, "value" | "onChange">>;
}
export declare function DataTable<TData>({ data, columns, pageCount, pagination, onPaginationChange, sorting, onSortingChange, columnFilters, onColumnFiltersChange, globalFilter, onGlobalFilterChange, isLoading, toolbarChildren, density, renderContextMenu, renderExpandedRow, bulkActions, variant, searchViewProps, ...tableProps }: DataTableProps<TData>): import("react/jsx-runtime").JSX.Element;
