import { GridAria, GridProps } from '../grid/useGrid'; import { Key, LayoutDelegate, Rect, RefObject, Size } from '@react-types/shared'; import { TableState } from 'react-stately/useTableState'; import { TreeGridState } from 'react-stately/private/table/useTreeGridState'; export interface AriaTableProps extends GridProps { /** * The layout object for the table. Computes what content is visible and how to position and style * them. */ layoutDelegate?: LayoutDelegate; /** @deprecated - Use layoutDelegate instead. */ layout?: DeprecatedLayout; } interface DeprecatedLayout { getLayoutInfo(key: Key): DeprecatedLayoutInfo; getContentSize(): Size; virtualizer: DeprecatedVirtualizer; } interface DeprecatedLayoutInfo { rect: Rect; } interface DeprecatedVirtualizer { visibleRect: Rect; } /** * Provides the behavior and accessibility implementation for a table component. A table displays * data in rows and columns and enables a user to navigate its contents via directional navigation * keys, and optionally supports row selection and sorting. * * @param props - Props for the table. * @param state - State for the table, as returned by `useTableState`. * @param ref - The ref attached to the table element. */ export declare function useTable(props: AriaTableProps, state: TableState | TreeGridState, ref: RefObject): GridAria; export {};