import type { ReactNode } from 'react'; import type { AriaLabelingProps, CommonProps } from '../types.js'; import { type RowSelectionMode } from './contexts/table-state.js'; export interface TableProps extends CommonProps, AriaLabelingProps { /** The contents of the table. */ children: ReactNode; /** * The number of rows in the full dataset, including headers. * * Provide this value if your table presents a subset of rows, such as when using pagination. * Use `-1` if the number of rows is not known. * * You must provide `rowNumber` on each table row if `totalRowCount` is defined. */ totalRowCount?: number; /** * The number of columns in the full dataset. * * Provide this value if your table presents a subset of columns, such as when the user toggles column visibility. * Use `-1` if the number of columns is not known. * * You must provide `columnNumber` on each table header cell if `totalColumnCount` is defined. */ totalColumnCount?: number; /** * The type of row selection that is allowed within the table. * @default 'none' */ rowSelectionMode?: RowSelectionMode; /** * Whether all of the table's rows are selected. * The meaning of "all rows" is dictated by the consumer. */ areAllRowsSelected?: boolean; /** * Whether some (but not all) of the table's rows are selected. * The meaning of "some rows" is dictated by the consumer. */ areSomeRowsSelected?: boolean; /** * A function called when the selection state of all rows should change. * * If called without an argument, you are free to pick the new selection state based on your own logic. * If called with an argument, you must set the selection state to the provided value. */ onAllRowsSelectionToggle?: (value?: boolean) => void; /** * Whether the table is currently in a loading state. * @default false */ isLoading?: boolean; } /** * Displays data in an organized, tabular way. * * See [table usage guidelines](https://ui.cimpress.io/components/table/) and [table building guide](https://ui.cimpress.io/dev-guides/tables/). */ declare const _Table: (props: TableProps & import("react").RefAttributes) => import("react").JSX.Element | null; export { _Table as Table }; //# sourceMappingURL=table.d.ts.map