import { default as React, ReactElement } from 'react';
import { ColumnDef, ColumnFiltersState, CoreOptions, PaginationState, RowData, RowSelectionState, SortingState, TableOptions, VisibilityState } from '@tanstack/react-table';
import { PaginationProps } from '../../pagination/src/pagination';
import { WithActionBarProps, WithColumnDragProps, WithEmptyTableProps, WithLoadingProps, WithoutActionBarProps, WithoutColumnDragProps, WithoutEmptyTableProps, WithoutLoadingProps, WithoutRowSelectionProps, WithoutSortingProps, WithoutToolbarProps, WithRowSelectionProps, WithSortingProps, WithToolbarProps } from './types';
export { createColumnHelper } from '@tanstack/react-table';
export type { ColumnDef, ColumnFiltersState, CoreOptions, PaginationState, RowData, RowSelectionState, SortingState, TableOptions, VisibilityState, };
export type TableProps<TData extends RowData> = {
    className?: string;
    variant?: "primary" | "secondary";
    columns: CoreOptions<TData>["columns"];
    data: TData[];
    paginationComponent?: ReactElement<PaginationProps>;
    fullWidth?: boolean;
    controlledShowColumnFilters?: boolean;
    onShowColumnFiltersChange?: (value: boolean) => void;
    controlledStickyHeaders?: boolean;
    onStickyHeadersChange?: (value: boolean) => void;
    controlledStickyFirstColumn?: boolean;
    onStickyFirstColumnChange?: (value: boolean) => void;
    defaultShowColumnFilters?: boolean;
    defaultStickyHeaders?: boolean;
    defaultStickyFirstColumn?: boolean;
    /**
     * @deprecated Use defaultStickyHeaders instead
     */
    stickyHeaders?: boolean;
    /**
     * @deprecated Use defaultStickyFirstColumn instead
     */
    stickyFirstColumn?: boolean;
    onRowsCountChange?: (rowsCount: number) => void;
    drawerZIndex?: number;
} & (WithToolbarProps | WithoutToolbarProps) & (WithSortingProps | WithoutSortingProps) & (WithActionBarProps | WithoutActionBarProps) & (WithEmptyTableProps | WithoutEmptyTableProps) & (WithoutLoadingProps | WithLoadingProps) & (WithoutRowSelectionProps | WithRowSelectionProps<TData>) & (WithColumnDragProps | WithoutColumnDragProps) & Partial<TableOptions<TData>>;
export declare const Table: {
    <TData extends RowData>({ actionbarCopy, actionBarTotalRowCount, className, columns, data, emptyTableCopy, emptyTableHeadingTag, emptyTableIcon, enableActionBar, enableToolbar, exportDrawerCopy, exportFormats, fullWidth, loading, paginationComponent, rowSelectionAriaLabels, settingsDrawerCopy, showOnlySelectedRows, skeletonRows, sortingAriaLabels, state, controlledShowColumnFilters, onShowColumnFiltersChange, controlledStickyFirstColumn, onStickyFirstColumnChange, controlledStickyHeaders, onStickyHeadersChange, defaultShowColumnFilters, defaultStickyFirstColumn, defaultStickyHeaders, stickyHeaders: stickyHeadersDeprecated, stickyFirstColumn: stickyFirstColumnDeprecated, toolbarCopy, toolbarTotalRowCount, variant, getRowId, onExportData, onRowsCountChange, controlledExpanded, defaultExpanded, onToggleExpand, onPrimaryButtonClick, onSecondaryButtonClick, setShowOnlySelectedRows, drawerZIndex, enableColumnDrag, columnDragAriaLabelsCopy, ...props }: TableProps<TData>): React.JSX.Element;
    displayName: string;
};
//# sourceMappingURL=table.d.ts.map