/// import { Column, Row, Cell, TableOptions as ReactTableOptions, TableState as ReactTableState, TableInstance as ReactTableInstance, UseExpandedInstanceProps, UseExpandedOptions, UseExpandedRowProps, UseExpandedState, UseGroupByCellProps, UseGroupByColumnOptions, UseGroupByColumnProps, UseGroupByInstanceProps, UseGroupByOptions, UseGroupByRowProps, UseGroupByState, UsePaginationInstanceProps, UsePaginationOptions, UsePaginationState, UseSortByColumnOptions, UseSortByColumnProps, UseSortByInstanceProps, UseSortByOptions, UseSortByState } from "react-table"; import { UseEditRowTableState, UseEditRowTableOptions, UseEditRowInstanceProps, UseEditRowRowProps } from "./useEditRow"; import { UseDuplicateRowTableOptions, UseDuplicateRowInstanceProps, UseDuplicateRowRowProps } from "./useDuplicateRow"; import { UseRowClassTableOptions, UseRowClassInstanceProps, UseRowClassRowProps } from "./useRowClass"; export declare enum Alignment { Leading = 0, Trailing = 1 } export declare type RowDataId = number | string; export interface RowData { id: RowDataId; } export declare type CanEditCell = boolean | ((value: undefined | R, cell: TableCell) => boolean); export interface EditableCellOptions { name: N; disabled?: boolean; canEdit?: CanEditCell; } interface WithPlaceholderRenderer { Placeholder?: (props: CellRendererProps) => React.ReactNode; } export declare type TableRow = Row & UseGroupByRowProps & UseExpandedRowProps & UseEditRowRowProps & UseDuplicateRowRowProps & UseRowClassRowProps; export declare type TableColumn = Column & UseSortByColumnProps & UseGroupByColumnProps & WithPlaceholderRenderer & { align?: Alignment; format?: (value: any) => string; validate?: (value: any) => boolean; }; export declare type TableColumnProps = TableColumn & { accessor: (row: R) => V; }; export declare type TableCell = Cell & { row: TableRow; column: TableColumnProps; value: V; } & UseGroupByCellProps; export declare type CellRendererProps = TableInstance & Pick, "row" | "column" | "value"> & { cell: TableCell; }; export declare type TableState = ReactTableState & UseSortByState & UseGroupByState & UseExpandedState & UsePaginationState & UseEditRowTableState; export declare type TableOptions = ReactTableOptions & UseSortByOptions & UseGroupByOptions & UseExpandedOptions & UsePaginationOptions & UseEditRowTableOptions & UseRowClassTableOptions & UseDuplicateRowTableOptions & { initialState: Partial>; }; export declare type TableInstance = ReactTableInstance & UseSortByInstanceProps & UseGroupByInstanceProps & UseExpandedInstanceProps & UsePaginationInstanceProps & UseDuplicateRowTableOptions & UseDuplicateRowInstanceProps & UseEditRowTableOptions & UseRowClassInstanceProps & UseEditRowInstanceProps & { rows: TableRow[]; rowsById: Record>; state: TableState; }; export declare type TableColumnOptions = TableOptions["columns"][number] & UseSortByColumnOptions & UseGroupByColumnOptions & WithPlaceholderRenderer; export declare type RowClickHandler = (e: React.MouseEvent) => void; export declare type ToggleRowState = (id: string, state?: boolean) => void; export declare type ToggleRowsState = (id: string[], state?: boolean) => void; export declare type AtLeastOneProperty; }> = Partial & U[keyof U]; export {};