import type { IconRenderer } from './icon-renderer'; /** * Collects the roots a repaint has to sweep: the grid itself plus any portaled * overlay currently in the document. */ export declare function iconRepaintRoots(containerEl: HTMLElement): ParentNode[]; /** * Re-renders every registry-drawn icon under `roots` from the renderer's current * registry state. Returns how many were repainted. * * This is what makes a theme's icon pack swappable at runtime. Icons are drawn * once when their DOM node is built and are not rebuilt by `GridApi.refresh()` * — the header, footer, toolbar, launchers and toast layer are all long-lived — * so without this sweep a pack change would only reach rows that happened to be * re-rendered. * * **Host-supplied icons are left alone, by construction.** `data-icon` is only * ever written by {@link IconRenderer}, so raw markup or elements a host passed * through `RowMenuIcon`, a dropdown option or a custom header renderer carry no * marker and are invisible here. No allowlist is needed. * * Two node shapes exist and are handled differently: * - a marked `` — produced by `renderToString`; the node *is* the glyph, so * it is replaced outright. * - a marked container — produced by `render()`/`updateIcon()`; its contents are * refilled in place, preserving the wrapper's classes and inline sizing. */ export declare function repaintIcons(renderer: IconRenderer, roots: Iterable): number; //# sourceMappingURL=icon-repainter.d.ts.map