import type { Signal } from '@blocksuite/affine-shared/utils'; import type { ReadonlySignal } from '@preact/signals-core'; import type { GridCell, GridGroup, GridRow, GridVirtualScroll, } from './virtual/virtual-scroll'; export type TableGroupData = { hover$: ReadonlySignal; headerHover$: Signal; footerHover$: Signal; }; export type TableRowData = { hover$: ReadonlySignal; selected$: ReadonlySignal; }; export type TableCellData = { hover$: Signal; }; export type TableGrid = GridVirtualScroll< TableGroupData, TableRowData, TableCellData >; export type TableGridGroup = GridGroup< TableGroupData, TableRowData, TableCellData >; export type TableGridRow = GridRow; export type TableGridCell = GridCell< TableGroupData, TableRowData, TableCellData >;