import { default as React, ReactNode } from 'react'; import { NextSortDirection, SortState, TableColumn, TableVariant } from './types'; type Context = { columns: TableColumn[]; data: T[]; selectedRowIds?: string[]; rowIds: string[]; rowHeight: 'normal' | 'compact'; sortState: SortState; setSortState(sortState: SortState): void; nextSortDirection: NextSortDirection; getRowId?(row: T): string; getIsRowActive?(row: T): boolean; getIsRowDisabled?(row: T): boolean; getIsRowCheckable?(row: T): boolean; getRowVariant?(row: T): TableVariant | undefined; onRowClick?(row: T): void; onRowSelectionChange?: (row: T, rowId: string, isChecked: boolean) => void; onAllRowsSelectionChange?: (rows: T[], rowIds: string[], isChecked: boolean) => void; }; export declare const TableContext: React.Context | null>; export type TableProviderProps = { children: ReactNode; } & Context; export declare function TableProvider({ children, ...contextProps }: TableProviderProps): React.JSX.Element; export declare function useTableHeaderCellContext(): { sortState: SortState; setSortState: (sortState: SortState) => void; nextSortDirection: NextSortDirection; }; export declare function useTableHeaderCheckboxContext(): { isChecked: boolean; isDisabled: boolean; isIndeterminate: boolean; hasCheckbox: boolean; onChange: (event: React.ChangeEvent) => void; }; export declare function useTableRowContext(row: T): { columns: TableColumn[]; isRowActive: boolean; isRowDisabled: boolean; isCheckboxDisabled: boolean; rowVariant: TableVariant | undefined; getRowId: ((row: any) => string) | undefined; onRowClick: ((row: any) => void) | undefined; }; export declare function useTableCellContext(row: T): { rowHeight: "normal" | "compact"; isRowDisabled: boolean; getRowId: ((row: any) => string) | undefined; }; export declare function useTableRowCheckboxContext(row: T): { isChecked: boolean; isDisabled: boolean; isCheckboxDisabled: boolean; onChange: (event: React.ChangeEvent) => void | "" | undefined; }; export {}; //# sourceMappingURL=TableProvider.d.ts.map