/** * Shared test utilities for Storybook tests * These utilities work with the virtualized cell-based DOM structure */ /** * Get unique row count from virtualized cells * Since column virtualization removed .st-row wrappers, we count unique data-row-index values */ export declare const getRowCount: (container: HTMLElement) => number; /** * Get all cells for a specific row index */ export declare const getCellsForRow: (container: HTMLElement, rowIndex: string) => HTMLElement[]; /** * Get all unique row indices from rendered cells */ export declare const getUniqueRowIndices: (container: HTMLElement) => number[]; /** * Check if a row exists (has any cells rendered) */ export declare const rowExists: (container: HTMLElement, rowIndex: string) => boolean; /** * Get row elements as virtual rows (groups cells by row index) * This mimics the old .st-row structure for backward compatibility with tests */ export declare const getVirtualRows: (container: HTMLElement) => HTMLElement[][]; export declare const waitForTable: (timeout?: number) => Promise; /** Poll until predicate returns true or timeout (reduces flake vs fixed setTimeout). */ export declare function waitUntil(predicate: () => boolean, options?: { timeoutMs?: number; intervalMs?: number; }): Promise; export declare const validateBasicTableStructure: (canvasElement: HTMLElement) => Promise; export declare const validateColumnCount: (canvasElement: HTMLElement, expectedCount: number) => void; export declare const validateRowCount: (canvasElement: HTMLElement, expectedCount: number) => void; export declare const validateCellContent: (canvasElement: HTMLElement, rowIndex: number, accessor: string, expectedValue: string) => void; /** Pinned panes should be document-ordered: left → main → right in header and body (when present). */ export declare const expectPinnedSectionsDomOrder: (root: HTMLElement) => void;