import { HTMLAttributes, ReactNode } from "react";
//#region src/data-table/table.d.ts
export declare const DataTable: ({ columns, emptyLabel, getRowProps, isLoading, loadingLabel, loadingRowCount, rowAction, rowKey, rows }: DataTableProps) => import("react").JSX.Element;
type RowProps = Omit, "children">;
export declare const DATA_TABLE_INTERACTIVE_DESCENDANT_SELECTORS: readonly ["a[href]", "audio[controls]", "button", "input", "select", "textarea", "video[controls]", "summary", "label", "[contenteditable]:not([contenteditable='false'])", "[role='button']", "[role='checkbox']", "[role='combobox']", "[role='link']", "[role='listbox']", "[role='menuitem']", "[role='menuitemcheckbox']", "[role='menuitemradio']", "[role='option']", "[role='radio']", "[role='searchbox']", "[role='slider']", "[role='spinbutton']", "[role='switch']", "[role='tab']", "[role='textbox']", "[role='treeitem']", "[tabindex]:not([tabindex='-1'])", "[data-data-table-stop-row-action]"];
export type DataTableAriaSort = "ascending" | "descending" | "none";
export type DataTableColumn = {
ariaSort?: DataTableAriaSort;
cellClassName?: string | ((item: TItem) => string | undefined);
header: ReactNode;
headClassName?: string;
id: string;
render: (item: TItem) => ReactNode;
};
export type DataTableRowAction = {
getAriaLabel: (item: TItem) => string;
getClassName?: (item: TItem) => string | undefined;
onSelect: (item: TItem) => void;
};
export type DataTableProps = {
columns: readonly [DataTableColumn, ...DataTableColumn[]];
emptyLabel: string;
getRowProps?: (item: TItem) => RowProps;
isLoading?: boolean;
loadingLabel: string;
loadingRowCount?: number;
rowAction?: DataTableRowAction;
rowKey: (item: TItem) => string | number;
rows: readonly TItem[];
};
export declare const isDataTableRowActionTarget: (row: EventTarget, target: EventTarget | null) => boolean;
//#endregion