/** * Vanilla equivalent of React NestedGridRow: renders a full-width row that contains * a nested SimpleTable when a row has nestedTable config (expandable + nestedTable headers). */ import type TableRow from "../types/TableRow"; import type { CustomTheme } from "../types/CustomTheme"; import type { SimpleTableConfig } from "../types/SimpleTableConfig"; import { type HeightOffsets } from "./infiniteScrollUtils"; export interface NestedGridRowRenderContext { rowHeight: number; heightOffsets: HeightOffsets | undefined; customTheme: CustomTheme; theme?: string; rowGrouping?: (string | number)[]; depth: number; loadingStateRenderer?: SimpleTableConfig["loadingStateRenderer"]; errorStateRenderer?: SimpleTableConfig["errorStateRenderer"]; emptyStateRenderer?: SimpleTableConfig["emptyStateRenderer"]; icons?: SimpleTableConfig["icons"]; } /** * Creates a nested grid row element: a div with class "st-row st-nested-grid-row" * that contains a nested SimpleTableVanilla instance. * Returns the row element and a cleanup function to destroy the nested table. */ export declare function createNestedGridRow(tableRow: TableRow, context: NestedGridRowRenderContext): { element: HTMLElement; cleanup: () => void; }; /** * Creates a spacer row for pinned sections: same position/height as a nested grid row * but no inner table (keeps scroll height in sync). */ export declare function createNestedGridSpacer(tableRow: TableRow, context: Pick): HTMLElement;