import { InternalGrid } from '../types';
/** Callback type for plugin row rendering hook */
export type RenderRowHook = (row: any, rowEl: HTMLElement, rowIndex: number) => boolean;
/**
 * CSS selector for focusable editor elements within a cell.
 * Used by EditingPlugin and keyboard navigation.
 */
export declare const FOCUSABLE_EDITOR_SELECTOR = "input,select,textarea,[contenteditable=\"true\"],[contenteditable=\"\"],[tabindex]:not([tabindex=\"-1\"])";
/**
 * Create a row element from template. Significantly faster than createElement + setAttribute.
 */
export declare function createRowFromTemplate(): HTMLDivElement;
/**
 * Invalidate the cell cache (call when rows or columns change).
 */
export declare function invalidateCellCache(grid: InternalGrid): void;
/**
 * Render / patch the visible window of rows [start, end) using a recyclable DOM pool.
 * Newly required row elements are created and appended; excess are detached.
 * Uses an epoch counter to force full row rebuilds when structural changes (like columns) occur.
 * @param renderRowHook - Optional callback that plugins can use to render custom rows (e.g., group rows).
 *                        If it returns true, default rendering is skipped for that row.
 */
export declare function renderVisibleRows(grid: InternalGrid, start: number, end: number, epoch?: number, renderRowHook?: RenderRowHook): void;
/**
 * Full reconstruction of a row's set of cells including templated, external view, and formatted content.
 * Attaches event handlers for editing and accessibility per cell.
 */
export declare function renderInlineRow(grid: InternalGrid, rowEl: HTMLElement, rowData: any, rowIndex: number): void;
/**
 * Handle click / double click interaction to focus cells.
 * Edit triggering is handled by EditingPlugin via onCellClick hook.
 */
export declare function handleRowClick(grid: InternalGrid, e: MouseEvent, rowEl: HTMLElement, _isDbl: boolean): void;
//# sourceMappingURL=rows.d.ts.map