/** @jsxImportSource @emotion/react */ import type { CSSObject, SerializedStyles } from '@emotion/react'; import type { CSSProperties, ReactElement, WheelEvent } from 'react'; import type { CellProps, Column as ReactColumn, UseSortByColumnOptions } from 'react-table'; import type { HighlightEventSource } from '../../highlight/index.js'; import type { BaseContextMenuProps } from '../ContextMenuBluePrint.js'; import type { ClickEvent } from './Elements/ReactTableRow.js'; interface ExtraColumn { enableRowSpan?: boolean; style?: CSSProperties; Cell?: (cell: CellProps) => ReactElement | string; } export type Column = ReactColumn & ExtraColumn & UseSortByColumnOptions; interface SortEvent { onSortEnd?: (data: any, isTableSorted?: boolean) => void; } export interface BaseRowStyle { active?: CSSProperties; activated?: CSSProperties; hover?: CSSProperties; base?: CSSProperties; } export interface TableContextMenuProps { onContextMenuSelect?: (selected: Parameters[0], data: any) => void; contextMenu?: BaseContextMenuProps['options']; } interface ReactTableProps extends TableContextMenuProps, ClickEvent, SortEvent { data: T[]; columns: Array>; highlightedSource?: HighlightEventSource; approxItemHeight?: number; approxColumnWidth?: number; groupKey?: keyof T; indexKey?: string; enableVirtualScroll?: boolean; enableColumnsVirtualScroll?: boolean; activeRow?: (data: any) => boolean; enableDefaultActiveRow?: boolean; totalCount?: number; emptyDataRowText?: string; rowStyle?: BaseRowStyle | ((data: T) => BaseRowStyle | undefined); style?: CSSObject | SerializedStyles; disableDefaultRowStyle?: boolean; } interface ReactTableInnerProps extends ReactTableProps { onScroll?: (event: WheelEvent) => void; } interface VirtualBoundary { start: number; end: number; } export interface TableVirtualBoundary { rows: VirtualBoundary; columns: VirtualBoundary; } declare const _default: (props: ReactTableInnerProps) => ReactElement; export default _default; //# sourceMappingURL=ReactTable.d.ts.map