import { tableGroupLabelColor, type TableCollapseAllHost, type TableSelectionState } from './table-model'; import type { TableColumn, TableGroup, TableGroupIntent, TableRow, TableSelectionMode } from './table-types'; export type TableGroupCountPresentation = 'loaded-progress' | 'total'; export interface TableGroupRenderModel { group: TableGroup; count: number; loadedCount: number; visibleCountText: string; countLabel: string; intent: TableGroupIntent | undefined; intentClass: string | undefined; labelColor: ReturnType; collapsed: boolean; selection: TableSelectionState | null; } export interface TableRenderModel { grouped: boolean; selectable: boolean; loadedRows: TableRow[]; hasData: boolean; selectedRowIds: ReadonlySet; selection: TableSelectionState; collapsedGroupIds: ReadonlySet; groups: TableGroupRenderModel[]; totalColumns: number; allGroupsCollapsed: boolean; showCollapseAll: boolean; collapseAllHost: TableCollapseAllHost | undefined; flexibleColumnId: string | undefined; tableStyle: Record | undefined; } export interface TableRenderModelInput { columns: TableColumn[]; rows: TableRow[]; groups: TableGroup[]; grouped: boolean; selectionMode: TableSelectionMode; selectedRowIds: string[]; collapsedGroupIds: string[]; groupCountPresentation?: TableGroupCountPresentation; } /** Create one immutable snapshot of all derived state consumed during a render. */ export declare function createTableRenderModel(input: TableRenderModelInput): TableRenderModel; //# sourceMappingURL=table-render-model.d.ts.map