import { Row, Table as TanstackTable } from '@tanstack/react-table';
import { default as React } from 'react';
type TableDensity = "default" | "compact";
type TableVariant = "primary" | "secondary" | "ghost";
export interface TableContextProps {
    table: TanstackTable<any>;
    density: TableDensity;
    variant: TableVariant;
    renderContextMenu?: (row: Row<any>) => React.ReactNode;
    renderExpandedRow?: (row: Row<any>) => React.ReactNode;
}
export declare const useTableContext: () => TableContextProps;
export declare const tableContainerVariants: (props?: ({
    variant?: "primary" | "secondary" | "ghost" | null | undefined;
} & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
export declare const tableVariants: (props?: import('class-variance-authority/dist/types').ClassProp | undefined) => string;
export declare const thVariants: (props?: ({
    variant?: "primary" | "secondary" | "ghost" | null | undefined;
    density?: "default" | "compact" | null | undefined;
} & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
export declare const trVariants: (props?: ({
    variant?: "primary" | "secondary" | "ghost" | null | undefined;
} & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
export declare const tdVariants: (props?: ({
    density?: "default" | "compact" | null | undefined;
} & import('class-variance-authority/dist/types').ClassProp) | undefined) => string;
export declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
export declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
export declare const TableRow: {
    <TData extends {}>({ row, ...rest }: {
        row: Row<TData>;
        [key: string]: any;
    }): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export interface TableRootProps<TData> extends React.HTMLAttributes<HTMLDivElement> {
    table: TanstackTable<TData>;
    density?: TableDensity;
    variant?: TableVariant;
    renderContextMenu?: (row: Row<TData>) => React.ReactNode;
    renderExpandedRow?: (row: Row<TData>) => React.ReactNode;
    isLoading?: boolean;
    skeletonCount?: number;
}
export declare const TableRoot: {
    <TData extends {}>({ className, table, density, variant, renderContextMenu, renderExpandedRow, isLoading, skeletonCount, ...props }: TableRootProps<TData>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export declare const Table: {
    <TData extends {}>({ className, table, density, variant, renderContextMenu, renderExpandedRow, isLoading, skeletonCount, ...props }: TableRootProps<TData>): import("react/jsx-runtime").JSX.Element;
    displayName: string;
} & {
    Row: {
        <TData extends {}>({ row, ...rest }: {
            row: Row<TData>;
            [key: string]: any;
        }): import("react/jsx-runtime").JSX.Element;
        displayName: string;
    };
    Head: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
    Cell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
};
export {};
