import * as React from "react";
import type { VariantProps } from "class-variance-authority";
import type { Table as TanStackTable, RowData } from "@tanstack/react-table";
import { tableVariants } from "./tableVariants";
declare module "@tanstack/react-table" {
    interface ColumnMeta<TData extends RowData, TValue> {
        headerClassName?: string;
        cellClassName?: string;
    }
}
export interface TableProps<TData extends RowData> extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof tableVariants> {
    table: TanStackTable<TData>;
    enableRowSelection?: boolean;
    enableSelectAll?: boolean;
    isLoading?: boolean;
    loadingComponent?: React.ReactNode;
    emptyComponent?: React.ReactNode;
    wrapperClassName?: string;
    containerClassName?: string;
    enableHorizontalScroll?: boolean;
    stickyHeader?: boolean;
    showRowHover?: boolean;
    onRowClick?: (row: TData) => void;
    rowClassName?: string | ((row: TData) => string);
    headerClassName?: string;
    cellClassName?: string;
    showHeaderBackground?: boolean;
    loading?: boolean;
    loadingSkeletonRows?: number;
    loadingSkeletonHeight?: number | string;
    columnWidths?: Partial<Record<string, string | number>>;
    columnMinWidths?: Partial<Record<string, string | number>>;
    columnMaxWidths?: Partial<Record<string, string | number>>;
    size?: "small" | "medium" | "large" | "auto";
}
declare function TableComponent<TData extends RowData>({ className, wrapperClassName, containerClassName, variant, size, table, enableRowSelection, enableSelectAll, isLoading, loading, loadingComponent, emptyComponent, enableHorizontalScroll, stickyHeader, showRowHover, onRowClick, rowClassName, headerClassName, cellClassName, showHeaderBackground, loadingSkeletonRows, loadingSkeletonHeight, columnWidths, columnMinWidths, columnMaxWidths, ...props }: TableProps<TData>, ref: React.ForwardedRef<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
export declare const Table: <TData extends RowData>(props: TableProps<TData> & {
    ref?: React.ForwardedRef<HTMLDivElement>;
}) => ReturnType<typeof TableComponent>;
export * from "./tableVariants";
//# sourceMappingURL=Table.d.ts.map