import * as react_jsx_runtime from 'react/jsx-runtime'; import { DataGridVariants } from '@kopexa/theme'; import { RowData, Table, Row } from '@tanstack/react-table'; import { ReactNode } from 'react'; declare module "@tanstack/react-table" { interface ColumnMeta { headerTitle?: string; headerClassName?: string; cellClassName?: string; skeleton?: ReactNode; expandedContent?: (row: TData) => ReactNode; } } type BaseProps = { table: Table; emptyMessage?: string; isLoading?: boolean; pageSize?: number; /** * Render a column-visibility icon button in a trailing column header instead * of relying on a standalone ``. Reuses the last * column's header when it's a display column (e.g. an actions column), * otherwise appends a dedicated fixed-width settings column. No-op when no * column is hideable. */ columnVisibilityToggle?: boolean; onRowClick?: (row: TData) => void; }; type DataGridProps = BaseProps & DataGridVariants & { children?: ReactNode; }; declare function DataGrid(props: DataGridProps): react_jsx_runtime.JSX.Element; declare function DataGridContainer({ children, className, }: { children: ReactNode; className?: string; border?: boolean; }): react_jsx_runtime.JSX.Element; declare const SETTINGS_COLUMN_WIDTH = 44; declare function DataGridTable(): react_jsx_runtime.JSX.Element; type DataGridColumnToggleProps = { /** * Trigger button label. Defaults to the translated "Columns" message; * ignored when `children` is provided. */ label?: string; align?: "start" | "center" | "end"; /** Custom trigger; replaces the default button. */ children?: ReactNode; }; /** * Dropdown that toggles column visibility. Lists every hideable leaf column * (`enableHiding !== false`) and reflects/sets `columnVisibility` on the table. * Column labels come from `meta.headerTitle`, falling back to the column id. */ declare function DataGridColumnToggle({ label, align, children, }: DataGridColumnToggleProps): react_jsx_runtime.JSX.Element | null; declare function DataGridTableRowSelectAll({ size, }: { size?: "sm" | "md" | "lg"; }): react_jsx_runtime.JSX.Element; declare function DataGridTableRowSelect({ row, size, }: { row: Row; size?: "sm" | "md" | "lg"; }): react_jsx_runtime.JSX.Element; export { DataGrid, DataGridColumnToggle, type DataGridColumnToggleProps, DataGridContainer, type DataGridProps, DataGridTable, DataGridTableRowSelect, DataGridTableRowSelectAll, SETTINGS_COLUMN_WIDTH };